├── CHANGELOG.rst
├── plugins
├── __init__.py
├── lookup
│ └── __init__.py
├── modules
│ └── __init__.py
├── doc_fragments
│ └── __init__.py
└── module_utils
│ ├── __init__.py
│ └── utils
│ └── __init__.py
├── roles
├── avise
│ ├── vars
│ │ ├── os
│ │ │ ├── centos.yml
│ │ │ ├── redhat.yml
│ │ │ ├── ubuntu.yml
│ │ │ └── oraclelinux.yml
│ │ ├── family
│ │ │ ├── debian.yml
│ │ │ └── redhat.yml
│ │ └── services
│ │ │ └── systemd.yml
│ ├── tasks
│ │ ├── docker
│ │ │ ├── family
│ │ │ │ ├── debian.yml
│ │ │ │ └── redhat.yml
│ │ │ ├── os
│ │ │ │ ├── redhat.yml
│ │ │ │ ├── ubuntu.yml
│ │ │ │ ├── oraclelinux.yml
│ │ │ │ └── centos.yml
│ │ │ ├── se_verify.yml
│ │ │ ├── services
│ │ │ │ ├── upstart.yml
│ │ │ │ ├── install.yml
│ │ │ │ └── systemd
│ │ │ │ │ └── install.yml
│ │ │ ├── error.yml
│ │ │ ├── main.yml
│ │ │ ├── se_reboot.yml
│ │ │ ├── avihost.yml
│ │ │ ├── se_check.yml
│ │ │ ├── block_se.yml
│ │ │ ├── se_start.yml
│ │ │ └── check_cloud.yml
│ │ └── main.yml
│ ├── molecule
│ │ └── default
│ │ │ ├── files
│ │ │ └── override.conf
│ │ │ ├── requirements.yml
│ │ │ ├── .yamllint
│ │ │ ├── playbook.yml
│ │ │ ├── tests
│ │ │ └── test_default.py
│ │ │ └── molecule.yml
│ ├── templates
│ │ ├── ifcfg-avi.j2
│ │ └── avise_service.j2
│ ├── handlers
│ │ └── main.yml
│ ├── README_ADVANCED.md
│ └── tests
│ │ └── jenkins
│ │ └── docker
│ │ ├── se_package_with_autoregister_true.yml
│ │ ├── se_package_with_autoregister_true_inband.yml
│ │ └── se_with_autoregister_true.yml
├── avicontroller
│ ├── tasks
│ │ ├── docker
│ │ │ ├── os
│ │ │ │ └── default.yml
│ │ │ ├── family
│ │ │ │ ├── default.yml
│ │ │ │ └── redhat.yml
│ │ │ ├── services
│ │ │ │ ├── systemd
│ │ │ │ │ ├── check.yml
│ │ │ │ │ └── install.yml
│ │ │ │ ├── install.yml
│ │ │ │ └── cleanup.yml
│ │ │ ├── docker_hub.yml
│ │ │ ├── package_deploy.yml
│ │ │ ├── fresh_install.yml
│ │ │ └── custom_repo.yml
│ │ ├── openshift
│ │ │ └── main.yml
│ │ └── main.yml
│ ├── .gitignore
│ ├── molecule
│ │ └── default
│ │ │ ├── requirements.yml
│ │ │ ├── playbook.yml
│ │ │ ├── molecule.yml
│ │ │ ├── tests
│ │ │ └── test_default.py
│ │ │ └── Dockerfile.j2
│ ├── .ansible-lint
│ ├── templates
│ │ ├── csp
│ │ │ └── avi_meta_controller.j2
│ │ ├── avicontroller.service.j2
│ │ ├── 16.x
│ │ │ └── avicontroller.service.j2
│ │ └── default
│ │ │ └── avicontroller.j2
│ ├── files
│ │ └── systemd
│ │ │ └── avicontroller.service
│ ├── handlers
│ │ └── main.yml
│ ├── .yamllint
│ └── README_ADVANCED.md
├── avise_csp
│ ├── vars
│ │ └── main.yml
│ ├── handlers
│ │ └── main.yml
│ ├── templates
│ │ └── avi_meta_se.j2
│ └── tasks
│ │ ├── main.yml
│ │ └── requirements.yml
├── avise_kvm
│ ├── files
│ │ └── README
│ ├── handlers
│ │ └── main.yml
│ ├── .ansible-lint
│ ├── .yamllint
│ ├── templates
│ │ ├── user-data.j2
│ │ └── avi_meta-data.j2
│ ├── tasks
│ │ ├── main.yml
│ │ └── teardown_kvm_vm.yml
│ └── defaults
│ │ └── main.yml
├── avise_vmware
│ ├── vars
│ │ └── main.yml
│ ├── handlers
│ │ └── main.yml
│ ├── tasks
│ │ └── requirements.yml
│ └── defaults
│ │ └── main.yml
├── avicontroller_kvm
│ ├── handlers
│ │ └── main.yml
│ ├── templates
│ │ ├── avi_meta-data-controller.j2
│ │ └── user-data.j2
│ ├── tasks
│ │ ├── main.yml
│ │ └── teardown_kvm_vm.yml
│ └── defaults
│ │ └── main.yml
├── avicontroller_csp
│ ├── molecule
│ │ └── default
│ │ │ ├── playbook.yml
│ │ │ ├── molecule.yml
│ │ │ ├── tests
│ │ │ └── test_default.py
│ │ │ ├── INSTALL.rst
│ │ │ └── Dockerfile.j2
│ ├── templates
│ │ └── avi_meta_controller.j2
│ ├── tasks
│ │ ├── validate_controller.yml
│ │ ├── main.yml
│ │ └── requirements.yml
│ ├── .yamllint
│ └── defaults
│ │ └── main.yml
└── aviconfig
│ ├── defaults
│ └── main.yml
│ └── tasks
│ ├── serviceenginegroup_advanced_delete.yml
│ ├── botmapping.yml
│ ├── labelgroup.yml
│ ├── securitymanagerdata.yml
│ ├── licenseledgerdetails.yml
│ ├── testsedatastorelevel3.yml
│ ├── botmapping_delete.yml
│ ├── labelgroup_delete.yml
│ ├── botipreputationtypemapping.yml
│ ├── botconfigconsolidator.yml
│ ├── licensestatus.yml
│ ├── clusterclouddetails.yml
│ ├── controllerportalregistration.yml
│ ├── controllersite.yml
│ ├── securitymanagerdata_delete.yml
│ ├── systemlimits.yml
│ ├── geodb.yml
│ ├── licenseledgerdetails_delete.yml
│ ├── cloudproperties.yml
│ ├── testsedatastorelevel3_delete.yml
│ ├── seproperties.yml
│ ├── snmptrapprofile.yml
│ ├── errorpageprofile.yml
│ ├── availabilityzone.yml
│ ├── testsedatastorelevel1.yml
│ ├── testsedatastorelevel2.yml
│ ├── alertscriptconfig.yml
│ ├── no_access_cloud.yml
│ ├── tenantsystemconfiguration.yml
│ ├── botipreputationtypemapping_delete.yml
│ ├── cluster.yml
│ ├── role.yml
│ ├── snmptrapprofile_delete.yml
│ ├── botconfigconsolidator_delete.yml
│ ├── licensestatus_delete.yml
│ ├── cloudproperties_delete.yml
│ ├── hardwaresecuritymodulegroup.yml
│ ├── clusterclouddetails_delete.yml
│ ├── errorpagebody.yml
│ ├── seproperties_delete.yml
│ ├── protocolparser.yml
│ ├── alertemailconfig.yml
│ ├── controllerportalregistration_delete.yml
│ ├── controllersite_delete.yml
│ ├── systemlimits_delete.yml
│ ├── authmappingprofile.yml
│ ├── geodb_delete.yml
│ ├── microservicegroup.yml
│ ├── natpolicy.yml
│ ├── wafprofile.yml
│ ├── customipamdnsprofile.yml
│ ├── federationcheckpoint.yml
│ ├── errorpageprofile_delete.yml
│ ├── serviceauthprofile.yml
│ ├── statediffoperation.yml
│ ├── alertsyslogconfig.yml
│ ├── availabilityzone_delete.yml
│ ├── testsedatastorelevel1_delete.yml
│ ├── alertscriptconfig_delete.yml
│ ├── testsedatastorelevel2_delete.yml
│ ├── webhook.yml
│ ├── tenantsystemconfiguration_delete.yml
│ ├── vsgs.yml
│ ├── backup.yml
│ ├── albservicesfileupload.yml
│ ├── cluster_delete.yml
│ ├── role_delete.yml
│ ├── csrfpolicy.yml
│ ├── customipamdnsprofile_delete.yml
│ ├── ssopolicy.yml
│ ├── gslbgeodbprofile.yml
│ ├── networkprofile.yml
│ ├── hardwaresecuritymodulegroup_delete.yml
│ ├── prioritylabels.yml
│ ├── certificatemanagementprofile.yml
│ ├── dnspolicy.yml
│ ├── errorpagebody_delete.yml
│ ├── stringgroup.yml
│ ├── inventoryfaultconfig.yml
│ ├── protocolparser_delete.yml
│ ├── vcenterserver.yml
│ ├── alertemailconfig_delete.yml
│ ├── authmappingprofile_delete.yml
│ ├── trafficcloneprofile.yml
│ ├── microservicegroup_delete.yml
│ ├── natpolicy_delete.yml
│ ├── wafprofile_delete.yml
│ ├── federationcheckpoint_delete.yml
│ └── serviceauthprofile_delete.yml
├── meta
└── runtime.yml
├── molecule
└── default
│ ├── files
│ ├── config.yml
│ └── creds.yml
│ ├── prepare.yml
│ ├── molecule.yml
│ ├── verify.yml
│ ├── converge.yml
│ └── cleanup.yml
├── tests
├── unit
│ └── requirements.txt
├── requirements.txt
└── integration
│ ├── requirements.txt
│ └── integration_config.yml
├── .idea
├── .gitignore
├── misc.xml
├── vcs.xml
├── inspectionProfiles
│ ├── profiles_settings.xml
│ └── Project_Default.xml
├── modules.xml
└── ansible-collection-alb.iml
├── requirements.txt
├── CODEOWNERS
├── .github
└── workflows
│ ├── galaxy-importer.cfg
│ └── release.yaml
├── NOTICE
├── galaxy.yml
├── testing.md
└── docs
└── avi_api_version.rst
/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/plugins/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/lookup/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/modules/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/doc_fragments/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/module_utils/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/module_utils/utils/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/roles/avise/vars/os/centos.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
--------------------------------------------------------------------------------
/roles/avise/vars/os/redhat.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
--------------------------------------------------------------------------------
/roles/avise/vars/os/ubuntu.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/family/debian.yml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/roles/avise/vars/os/oraclelinux.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/os/redhat.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/os/ubuntu.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/os/oraclelinux.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
--------------------------------------------------------------------------------
/meta/runtime.yml:
--------------------------------------------------------------------------------
1 | ---
2 | requires_ansible: '>=2.9.10'
3 |
--------------------------------------------------------------------------------
/molecule/default/files/config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | avi_config: {}
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/os/default.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
--------------------------------------------------------------------------------
/tests/unit/requirements.txt:
--------------------------------------------------------------------------------
1 | mock
2 | beautifulsoup4==4.9.3
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/family/default.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
--------------------------------------------------------------------------------
/roles/avise_csp/vars/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # vars file for avise-csp
--------------------------------------------------------------------------------
/roles/avise_kvm/files/README:
--------------------------------------------------------------------------------
1 | Placeholder for role files
2 |
--------------------------------------------------------------------------------
/roles/avicontroller/.gitignore:
--------------------------------------------------------------------------------
1 | *.retry
2 | */__pycache__
3 | *.pyc
4 |
--------------------------------------------------------------------------------
/roles/avise_csp/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # handlers file for avise-csp
--------------------------------------------------------------------------------
/roles/avise_vmware/vars/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # vars file for avise_vmware
3 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/roles/avise/molecule/default/files/override.conf:
--------------------------------------------------------------------------------
1 | [Service]
2 | ExecStartPre=
3 |
--------------------------------------------------------------------------------
/roles/avise_vmware/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # handlers file for avise_vmware
3 |
--------------------------------------------------------------------------------
/tests/requirements.txt:
--------------------------------------------------------------------------------
1 | -r requirements.txt
2 | mock
3 | beautifulsoup4==4.9.3
4 |
--------------------------------------------------------------------------------
/roles/avise/vars/family/debian.yml:
--------------------------------------------------------------------------------
1 | ---
2 | avise_default_file: /etc/default/avise
3 |
--------------------------------------------------------------------------------
/roles/avise/vars/family/redhat.yml:
--------------------------------------------------------------------------------
1 | ---
2 | avise_default_file: /etc/sysconfig/avise
3 |
--------------------------------------------------------------------------------
/roles/avise_kvm/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # handlers file for playbooks/roles/kvm-vm
3 |
--------------------------------------------------------------------------------
/roles/avicontroller/molecule/default/requirements.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - src: avinetworks.docker
3 |
--------------------------------------------------------------------------------
/tests/integration/requirements.txt:
--------------------------------------------------------------------------------
1 | requests==2.25.1
2 | pyVmomi==7.0.2
3 | pyVim==3.0.2
4 |
--------------------------------------------------------------------------------
/roles/avicontroller_kvm/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # handlers file for playbooks/roles/kvm-vm
3 |
--------------------------------------------------------------------------------
/roles/avise/vars/services/systemd.yml:
--------------------------------------------------------------------------------
1 | ---
2 | service_file: /etc/systemd/system/avise.service
3 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | requests==2.25.1
2 | pyVmomi==8.0.2.0.1
3 | pyVim==3.0.2
4 | beautifulsoup4==4.9.3
5 |
--------------------------------------------------------------------------------
/roles/avise/molecule/default/requirements.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - src: avinetworks.docker
3 | - src: avinetworks.avisdk
4 |
--------------------------------------------------------------------------------
/roles/avise_kvm/.ansible-lint:
--------------------------------------------------------------------------------
1 | ---
2 | skip_list:
3 | - 'role-name'
4 | - 'ignore-errors'
5 | - 'no-changed-when'
6 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/se_verify.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Verify SSH connectivity to SE hosts
3 | ping:
4 | become: true
5 |
--------------------------------------------------------------------------------
/roles/avicontroller/.ansible-lint:
--------------------------------------------------------------------------------
1 | ---
2 | skip_list:
3 | - 305
4 | - 306
5 | - 208
6 | - 106
7 | use_default_rules: true
8 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/openshift/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Avi Controller | Docker | Deployment
3 | include: ../docker/main.yml
4 |
--------------------------------------------------------------------------------
/roles/avise/templates/ifcfg-avi.j2:
--------------------------------------------------------------------------------
1 | TYPE=Ethernet
2 | BOOTPROTO=none
3 | ONBOOT=no
4 | NAME=avi_eth{{ item }}
5 | DEVICE=avi_eth{{ item }}
6 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/molecule/default/playbook.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Converge
3 | hosts: all
4 | roles:
5 | - role: avinetworks.avicontroller-csp
6 |
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # These owners will be the default owners for everything in
2 | # the repo. Unless a later match takes precedence,
3 | * @sabandi @manojkumarjain
4 |
--------------------------------------------------------------------------------
/roles/avise_kvm/.yamllint:
--------------------------------------------------------------------------------
1 | ---
2 | # Based on ansible-lint config
3 | extends: default
4 |
5 | rules:
6 | indentation: disable
7 | line-length: disable
8 | truthy: disable
9 |
--------------------------------------------------------------------------------
/roles/avicontroller/molecule/default/playbook.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Converge
3 | hosts: all
4 | become: true
5 | roles:
6 | - role: avinetworks.docker
7 | - role: avinetworks.avicontroller
8 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/roles/avicontroller_kvm/templates/avi_meta-data-controller.j2:
--------------------------------------------------------------------------------
1 | avi.mgmt-ip.CONTROLLER: {{ ctrl_mgmt_ip }}
2 | avi.mgmt-mask.CONTROLLER: {{ ctrl_mgmt_mask }}
3 | avi.default-gw.CONTROLLER: {{ ctrl_default_gw }}
4 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/services/systemd/check.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Avi Controller | Check if Avi Controller installed
3 | stat:
4 | path: /etc/systemd/system/avicontroller.service
5 | register: avi_installed
6 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/family/redhat.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Deactivate and stop firewalld as it will break the SE
3 | - name: Avi SE | Prepare | Deactivate and stop Firewalld
4 | service: name="firewalld" state="stopped" enabled="no"
5 |
--------------------------------------------------------------------------------
/roles/avise_kvm/templates/user-data.j2:
--------------------------------------------------------------------------------
1 | #cloud-config
2 | # Hostname management
3 | preserve_hostname: False
4 | hostname: {{ kvm_vm_hostname }}
5 | # Configure where output will go
6 | output:
7 | all: ">> /var/log/cloud-init.log"
--------------------------------------------------------------------------------
/roles/avicontroller_kvm/templates/user-data.j2:
--------------------------------------------------------------------------------
1 | #cloud-config
2 | # Hostname management
3 | preserve_hostname: False
4 | hostname: {{ kvm_vm_hostname }}
5 | # Configure where output will go
6 | output:
7 | all: ">> /var/log/cloud-init.log"
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/roles/avise_csp/templates/avi_meta_se.j2:
--------------------------------------------------------------------------------
1 | {% for key,value in se_csp_meta_options.items() %}
2 | {% if value != '' %}
3 | {% set myvalue = se_csp_meta_config.update({ key: value }) %}
4 | {% endif %}
5 | {% endfor %}
6 | {{ se_csp_meta_config | to_nice_yaml }}
7 |
--------------------------------------------------------------------------------
/roles/avicontroller_kvm/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: "Avi Controller | KVM | Deploy VM"
3 | include: deploy_controller.yml
4 | when: state == "create"
5 |
6 | - name: "Avi Controller | KVM | Destroy VM"
7 | include: teardown_kvm_vm.yml
8 | when: state == "delete"
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/services/upstart.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Avi SE | Services | upstart | Deploy the avise service
3 | copy: src=upstart/avise.conf dest=/etc/init/avise.conf mode=0644
4 | become: true
5 | notify: Avi SE | Services | Restart the avise service
6 |
--------------------------------------------------------------------------------
/roles/avise/molecule/default/.yamllint:
--------------------------------------------------------------------------------
1 | ---
2 | extends: default
3 |
4 | rules:
5 | braces:
6 | max-spaces-inside: 1
7 | level: error
8 | brackets:
9 | max-spaces-inside: 1
10 | level: error
11 | line-length: disable
12 | truthy: disable
13 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/templates/avi_meta_controller.j2:
--------------------------------------------------------------------------------
1 | {% for key,value in con_csp_meta_options.items() %}
2 | {% if value != '' %}
3 | {% set myvalue = con_csp_meta_config.update({ key: value }) %}
4 | {% endif %}
5 | {% endfor %}
6 | {{ con_csp_meta_config | to_nice_yaml }}
7 |
--------------------------------------------------------------------------------
/roles/avicontroller/templates/csp/avi_meta_controller.j2:
--------------------------------------------------------------------------------
1 | {% for key,value in con_csp_meta_options.iteritems() %}
2 | {% if value != '' %}
3 | {% set myvalue = con_csp_meta_config.update({ key: value }) %}
4 | {% endif %}
5 | {% endfor %}
6 | {{ con_csp_meta_config | to_nice_yaml }}
7 |
--------------------------------------------------------------------------------
/.github/workflows/galaxy-importer.cfg:
--------------------------------------------------------------------------------
1 | [galaxy-importer]
2 | LOG_LEVEL_MAIN = INFO
3 | RUN_FLAKE8 = True
4 | RUN_ANSIBLE_DOC = True
5 | RUN_ANSIBLE_LINT = True
6 | RUN_ANSIBLE_TEST = False
7 | ANSIBLE_TEST_LOCAL_IMAGE = False
8 | LOCAL_IMAGE_DOCKER = False
9 | INFRA_OSD = False
10 |
--------------------------------------------------------------------------------
/roles/avise/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # tasks file for avinetworks.avise
3 |
4 | # This task will appropriately start the selected type of deployment.
5 | # It was added to prevent mass "skipped" messages when deploying Avi.
6 | - name: Avi SE | Deployment
7 | include: docker/main.yml
8 |
--------------------------------------------------------------------------------
/roles/avise_kvm/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: "Avi SE | KVM | Deploy VM | When state = present"
3 | include: deploy_se.yml
4 | when: state == "create"
5 |
6 | - name: "Avi SE | KVM | Destroy VM | When state = absent"
7 | include: teardown_kvm_vm.yml
8 | when: state == "delete"
9 |
--------------------------------------------------------------------------------
/roles/aviconfig/defaults/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # defaults file for aviconfig
3 | # avi_role_config_log_mode will log cloud configuration in an Ansible log file if set to false explicitly in the playbook
4 | avi_config_state: present
5 | avi_role_config_log_mode: 'True'
6 | avi_role_state_mode: present
7 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/roles/avicontroller/templates/avicontroller.service.j2:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=AviCONTROLLER
3 | Requires=proc-sys-fs-binfmt_misc.mount
4 |
5 |
6 | [Service]
7 | TimeoutStartSec=0
8 | Restart=always
9 |
10 | ExecStart={{ AVI_EXECUTABLE }} start
11 | ExecStop={{ AVI_EXECUTABLE }} stop
12 |
13 | [Install]
14 | WantedBy=multi-user.target
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/os/centos.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # centos specific tasks file for avinetworks.avise
3 | - name: Avi SE | Docker | CentOS | Deploy network-scripts
4 | template: src=templates/ifcfg-avi.j2 dest=/etc/sysconfig/network-scripts/ifcfg-avi_eth{{ item }} mode=0644
5 | with_items:
6 | - "{{ range(0,10)|list }}"
7 | become: true
8 |
--------------------------------------------------------------------------------
/roles/avise_kvm/templates/avi_meta-data.j2:
--------------------------------------------------------------------------------
1 | AVICNTRL: {{ se_kvm_ctrl_ip }}
2 | AVICNTRL_AUTHTOKEN: {{ se_auth_token }}
3 | avi.mgmt-ip.SE: {{ se_kvm_mgmt_ip }}
4 | avi.mgmt-mask.SE: {{ se_kvm_mgmt_mask }}
5 | avi.default-gw.SE: {{ se_kvm_default_gw }}
6 | {% if se_bond_seq is defined %}
7 | avi.bond-ifs.SE: {{ se_bond_seq }}
8 | {% endif %}
9 |
--------------------------------------------------------------------------------
/roles/avicontroller/files/systemd/avicontroller.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=AVICONTROLLER
3 | After=docker.service
4 | Requires=docker.service
5 |
6 | [Service]
7 | TimeoutStartSec=0
8 | Restart=always
9 |
10 | ExecStart=/usr/sbin/avicontroller start
11 | ExecStop=/usr/sbin/avicontroller stop
12 |
13 | [Install]
14 | WantedBy=multi-user.target
15 |
--------------------------------------------------------------------------------
/molecule/default/prepare.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Prepare
3 | hosts: all
4 | gather_facts: false
5 | tasks:
6 | - name: Install requirements for module
7 | ansible.builtin.pip:
8 | name:
9 | - requests==2.25.1
10 | - pyVmomi==7.0.2
11 | - pyVim==3.0.2
12 | - pyyaml
13 | - yamllint
14 | become: true
15 |
--------------------------------------------------------------------------------
/roles/avicontroller/molecule/default/molecule.yml:
--------------------------------------------------------------------------------
1 | ---
2 | dependency:
3 | name: galaxy
4 | driver:
5 | name: docker
6 | platforms:
7 | - name: instance
8 | image: docker.io/pycontribs/centos:8
9 | pre_build_image: true
10 | lint: |
11 | set -e
12 | yamllint .
13 | ansible-lint
14 | flake8
15 | provisioner:
16 | name: ansible
17 | verifier:
18 | name: testinfra
19 |
--------------------------------------------------------------------------------
/roles/avicontroller/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # handlers for avinetworks.avicontroller
3 | - name: Avi Controller | Services | systemd | Daemon reload
4 | systemd: daemon_reload=yes name=avicontroller
5 | when: ansible_version.full is version_compare('2.2', '>=')
6 |
7 | - name: Avi Controller | Services | Restart the avicontroller service
8 | service: name=avicontroller enabled=yes state=restarted
9 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/error.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - block:
3 | - name: Printing error message from log file
4 | shell: "echo {{ error_string }} > /tmp/log"
5 | - name: fetching log from tmp
6 | fetch: src=/tmp/log dest=/tmp/log
7 | - name: Delete log file from tmp
8 | file: path=/tmp/log state=absent
9 | - name: Set error message
10 | fail: msg="{{ error_string }}"
11 | become: true
12 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # This task will appropriately start the actions on SE's
3 | - name: Check SeGroup Upgrade in progress
4 | fail:
5 | msg: SeGroup upgrade in progress
6 | when: (se_action == "start") and (ups is defined) and ups
7 |
8 | - include: version_check.yml
9 | when: se_action != "verify"
10 |
11 | - name: Avi SE actions
12 | include: "se_{{ se_action }}.yml"
13 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/tasks/validate_controller.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Validate if controller is up and running
3 | - name: Avi Controller | CSP | Validate controller service
4 | uri:
5 | url: 'https://{{ con_csp_mgmt_ip }}/#!/login'
6 | validate_certs: no
7 | retries: 120
8 | delay: 30
9 | register: task_result
10 | until: task_result.status == 200
11 | ignore_errors: yes
12 | delegate_to: localhost
13 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/molecule/default/molecule.yml:
--------------------------------------------------------------------------------
1 | ---
2 | dependency:
3 | name: galaxy
4 | driver:
5 | name: docker
6 | lint: |
7 | set -e
8 | yamllint tasks -c .yamllint
9 | ansible-lint
10 | flake8
11 | platforms:
12 | - name: instance
13 | image: centos:7
14 | provisioner:
15 | name: ansible
16 | # lint:
17 | # name: ansible-lint
18 | verifier:
19 | name: testinfra
20 | # lint:
21 | # name: flake8
22 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/services/systemd/install.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Avi Controller | Services | systemd | Deploy the avicontroller service
3 | template:
4 | src: avicontroller.service.j2
5 | dest: /etc/systemd/system/avicontroller.service
6 | mode: 0644
7 | register: avicontroller_service
8 | notify:
9 | - Avi Controller | Services | systemd | Daemon reload
10 | - Avi Controller | Services | Restart the avicontroller service
11 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # tasks file for avinetworks.avicontroller
3 | - name: Check ansible version
4 | when:
5 | - ansible_version.full is version_compare('2.4', '<')
6 | debug: >
7 | msg="This role works best with ansible version 2.4 or greater.
8 | It is recommended to use the latest ansible version for the best experience."
9 |
10 | - name: Avi Controller | Deployment
11 | include: "{{ con_deploy_type|lower }}/main.yml"
12 |
--------------------------------------------------------------------------------
/roles/avise_kvm/tasks/teardown_kvm_vm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: "Avi SE | KVM | Destroy SE VM"
3 | command: "virsh destroy {{ kvm_vm_hostname }}"
4 | register: virsh_destroy_results
5 | changed_when: '"destroyed" in virsh_destroy_results.stdout'
6 | ignore_errors: true
7 |
8 | - name: "Avi SE | KVM | Undefine SE VM"
9 | command: "virsh undefine {{ kvm_vm_hostname }}"
10 | register: virsh_undefine_results
11 | changed_when: '"undefined" in virsh_undefine_results.stdout'
12 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/docker_hub.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Default docker image pull from the Docker Hub.
3 |
4 | - name: Avi Controller | Docker | Load the image from Docker Hub
5 | shell: "docker pull {{ con_image }}"
6 | register: con_load_docker_hub
7 | changed_when: "'Status: Image is up to date' not in con_load_docker_hub.stdout"
8 | notify: Avi Controller | Services | Restart the avicontroller service
9 | when: not con_docker_match.stdout or con_version == "latest"
10 |
--------------------------------------------------------------------------------
/NOTICE:
--------------------------------------------------------------------------------
1 | Advanced Load Balancer Ansible Collection
2 | Copyright 2021 VMware, Inc.
3 |
4 | This product is licensed to you under the Apache 2.0 license (the "License"). You may not use this product except in compliance with the Apache 2.0 License.
5 |
6 | This product may include a number of subcomponents with separate copyright notices and license terms. Your use of these subcomponents is subject to the terms and conditions of the subcomponent's license, as noted in the LICENSE file.
7 |
8 |
--------------------------------------------------------------------------------
/.idea/ansible-collection-alb.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/roles/avicontroller/molecule/default/tests/test_default.py:
--------------------------------------------------------------------------------
1 | from __future__ import (absolute_import, division, print_function)
2 | __metaclass__ = type
3 | import os
4 |
5 | import testinfra.utils.ansible_runner
6 |
7 | testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
8 | os.environ["MOLECULE_INVENTORY_FILE"]
9 | ).get_hosts("all")
10 |
11 |
12 | def test_hosts_file(host):
13 | f = host.file("/etc/hosts")
14 |
15 | assert f.exists
16 | assert f.user == "root"
17 | assert f.group == "root"
18 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/molecule/default/tests/test_default.py:
--------------------------------------------------------------------------------
1 | from __future__ import (absolute_import, division, print_function)
2 | __metaclass__ = type
3 | import os
4 |
5 | import testinfra.utils.ansible_runner
6 |
7 | testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
8 | os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
9 |
10 |
11 | def test_hosts_file(host):
12 | f = host.file('/etc/hosts')
13 |
14 | assert f.exists
15 | assert f.user == 'root'
16 | assert f.group == 'root'
17 |
--------------------------------------------------------------------------------
/roles/avise/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # handlers for avinetworks.avise
3 | - name: Avi SE | Services | systemd | Daemon reload
4 | systemd: daemon_reload=yes name=avise
5 | become: true
6 | when: ansible_version.full is version('2.2', '>=')
7 |
8 | - name: Avi SE | Services | Restart the avise service
9 | service: name=avise enabled=yes state=restarted
10 | become: true
11 |
12 | - name: Avi SE | Services | init.d | Restart the avise_watcher service
13 | service: name=avise_watcher enabled=yes state=restarted
14 | become: true
15 |
--------------------------------------------------------------------------------
/roles/avicontroller_kvm/tasks/teardown_kvm_vm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # tasks file for playbooks/roles/kvm
3 | - name: "Avi Controller | KVM | Destroy Controller VM"
4 | command: "virsh destroy {{ kvm_vm_hostname }}"
5 | register: virsh_destroy_results
6 | changed_when: '"destroyed" in virsh_destroy_results.stdout'
7 | ignore_errors: true
8 |
9 | - name: "Avi Controller | KVM | Undefine Controller VM"
10 | command: "virsh undefine {{ kvm_vm_hostname }}"
11 | register: virsh_undefine_results
12 | changed_when: '"undefined" in virsh_undefine_results.stdout'
13 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/services/install.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Set container env for non-systemd
3 | set_fact:
4 | se_env_variables_extras: "{{ se_env_variables_extras + ['NON_SYSTEMD=1'] }}"
5 | when: ansible_service_mgr != "systemd"
6 |
7 | - name: Copy template to remote machine
8 | template: src="{{ se_service_files_path }}avise.j2" dest=/usr/sbin/avise mode=0755
9 | become: true
10 | notify: Avi SE | Services | Restart the avise service
11 |
12 | - name: Include the corresponding service
13 | include: "{{ ansible_service_mgr }}/install.yml"
14 |
--------------------------------------------------------------------------------
/tests/integration/integration_config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | avi_credentials:
3 | controller: <>
4 | username: <>
5 | password: <>
6 | api_version: <>
7 |
8 | vcenter_host: <>
9 | vcenter_user: <>
10 | vcenter_password: <>
11 | con_datacenter: <>
12 | con_cluster: <>
13 | con_mgmt_network: <>
14 | con_vcenter_folder: <>
15 | ovftool_path: <>
16 | con_ova_path: <>
17 | con_vm_name: <>
18 |
--------------------------------------------------------------------------------
/galaxy.yml:
--------------------------------------------------------------------------------
1 | authors:
2 | - Anurag Palsule
3 | - Parikshit Manur
4 | description: VMware Advanced Load Balancer (formerly Avi) Ansible Collection
5 | issues: https://github.com/vmware/ansible-collection-alb/issues
6 | license_file: LICENSE
7 | name: alb
8 | namespace: vmware
9 | readme: README.md
10 | repository: https://github.com/vmware/ansible-collection-alb
11 | tags:
12 | - avi
13 | - controller
14 | - avicontroller
15 | - avisdk
16 | - avinetworks
17 | - network
18 | - load
19 | - balancer
20 | - sdk
21 | version: 30.2.1
22 |
--------------------------------------------------------------------------------
/molecule/default/files/creds.yml:
--------------------------------------------------------------------------------
1 | ---
2 | avi_credentials:
3 | controller: "{{ lookup('env', 'CONTROLLER') }}"
4 | username: "{{ lookup('env', 'USERNAME') }}"
5 | password: "{{ lookup('env', 'PASSWORD') }}"
6 | api_version: "{{ lookup('env', 'API_VERSION') }}"
7 |
8 | # Controller credentials
9 | #export CONTROLLER="11.102.86.13"
10 | #export USERNAME="admin"
11 | #export PASSWORD="password"
12 | #export API_VERSION="22.1.2"
13 | # VMware cloud credentials
14 | #export VCENTER_URL="11.102.12.13"
15 | #export VCENTER_USERNAME="aviuser12"
16 | #export VCENTER_PASSWORD='password'
--------------------------------------------------------------------------------
/roles/avise/templates/avise_service.j2:
--------------------------------------------------------------------------------
1 | #***************************************************************************
2 | # ------------------------------------------------------------------------
3 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
4 | # ------------------------------------------------------------------------
5 | #
6 |
7 | [Unit]
8 | Description=Avi SE Service
9 |
10 | [Service]
11 | TimeoutStartSec=0
12 | Restart=always
13 |
14 | ExecStart={{ AVI_EXECUTABLE }} start
15 | ExecStop={{ AVI_EXECUTABLE }} stop
16 |
17 | [Install]
18 | WantedBy=multi-user.target
--------------------------------------------------------------------------------
/molecule/default/molecule.yml:
--------------------------------------------------------------------------------
1 | ---
2 | dependency:
3 | name: galaxy
4 | driver:
5 | name: docker
6 | platforms:
7 | - name: instance
8 | image: geerlingguy/docker-ubuntu1804-ansible
9 | pre_build_image: true
10 | provisioner:
11 | name: ansible
12 | log: true
13 | env:
14 | ANSIBLE_VERBOSITY: 3
15 | lint: |
16 | set -e
17 | yamllint roles/aviconfig/tasks
18 | verifier:
19 | name: ansible
20 | scenario:
21 | test_sequence:
22 | - dependency
23 | - lint
24 | - syntax
25 | - create
26 | - prepare
27 | - converge
28 | - idempotence
29 | - verify
30 | - cleanup
31 | - destroy
32 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/roles/avicontroller/templates/16.x/avicontroller.service.j2:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Avi Controller Service
3 | After=docker.service
4 | Requires=docker.service
5 |
6 | [Service]
7 | TimeoutStartSec=0
8 | Restart=always
9 |
10 | ExecStartPre=-/usr/bin/docker rm -f avicontroller
11 | ExecStartPre=/usr/bin/docker run {{ con_docker_run_params }}
12 | ExecStart=/usr/bin/docker wait avicontroller
13 | ExecStop=-/usr/bin/docker stop avicontroller
14 | ExecStop=-/bin/bash -c "ip addr del $(ip addr | grep {{ con_dev_name }}:1 | awk '{print $2}') dev {{ con_dev_name }}"
15 | ExecStopPost=-/usr/bin/docker rm -f avicontroller
16 |
17 | [Install]
18 | WantedBy=multi-user.target
19 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/se_reboot.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Checks for blocking SE
3 | include: check_cloud.yml
4 |
5 | - name: Reboot the avise service in systemd
6 | service: name=avise enabled=yes state=restarted
7 | when: ansible_service_mgr == "systemd"
8 | become: true
9 |
10 | - name: Reboot the avise service in non-systemd
11 | service: name=avise_watcher enabled=yes state=restarted
12 | when: ansible_service_mgr != "systemd"
13 | become: true
14 |
15 | - block:
16 | - name: Fetch log file
17 | fetch: src=/tmp/log dest=/tmp/log
18 |
19 | - name: Delete log file
20 | file: path=/tmp/log state=absent
21 | become: true
22 | ignore_errors: yes
23 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/services/install.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Avi Controller | Services | Install the Avi Controller service file | New
3 | template: src=avicontroller.j2 dest=/usr/sbin/avicontroller mode=0755
4 | notify: Avi Controller | Services | Restart the avicontroller service
5 |
6 | - name: Avi Controller | Services | {{ ansible_service_mgr }} | Install the Avi Controller service | New
7 | include: "{{ ansible_service_mgr }}/install.yml"
8 |
9 | - name: Avi Controller | Services | {{ ansible_service_mgr }} | Start the service since it's not running |
10 | service: name=avicontroller enabled=yes state=started
11 | when: not con_desired_running.stdout
12 |
--------------------------------------------------------------------------------
/roles/avicontroller/.yamllint:
--------------------------------------------------------------------------------
1 | ---
2 | # Based on ansible-lint config
3 | extends: default
4 |
5 | rules:
6 | braces: {max-spaces-inside: 1, level: error}
7 | brackets: {max-spaces-inside: 1, level: error}
8 | colons: {max-spaces-after: -1, level: error}
9 | commas: {max-spaces-after: -1, level: error}
10 | comments: disable
11 | comments-indentation: disable
12 | document-start: disable
13 | empty-lines: {max: 3, level: error}
14 | hyphens: {level: error}
15 | indentation: disable
16 | key-duplicates: enable
17 | line-length: disable
18 | new-line-at-end-of-file: disable
19 | new-lines: {type: unix}
20 | trailing-spaces: disable
21 | truthy: disable
22 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/.yamllint:
--------------------------------------------------------------------------------
1 | ---
2 | # Based on ansible-lint config
3 | extends: default
4 |
5 | rules:
6 | braces: {max-spaces-inside: 1, level: error}
7 | brackets: {max-spaces-inside: 1, level: error}
8 | colons: {max-spaces-after: -1, level: error}
9 | commas: {max-spaces-after: -1, level: error}
10 | comments: disable
11 | comments-indentation: disable
12 | document-start: disable
13 | empty-lines: {max: 3, level: error}
14 | hyphens: {level: error}
15 | indentation: disable
16 | key-duplicates: enable
17 | line-length: disable
18 | new-line-at-end-of-file: disable
19 | new-lines: {type: unix}
20 | trailing-spaces: disable
21 | truthy: disable
22 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/package_deploy.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # This set of tasks is only used when con_package_deploy is true
3 | - name: Avi Controller | Docker | Deploy the image from the package
4 | copy: src={{ con_package_source }} dest={{ con_package_dest }}
5 |
6 | - name: Avi Controller | Docker | Load the image from the package
7 | shell: "docker load -q -i {{ con_package_dest }} | awk -F':' '{print $3}'"
8 | changed_when: false
9 | register: con_load_docker_image
10 |
11 | - name: Set con_version and con_image facts
12 | set_fact:
13 | con_version: "{{ con_load_docker_image.stdout }}"
14 | con_image: "avinetworks/controller:{{ con_load_docker_image.stdout }}"
15 |
--------------------------------------------------------------------------------
/roles/avicontroller_kvm/defaults/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # defaults file for playbooks/roles/kvm-vm
3 | kvm_host_ip: "{{ inventory_hostname }}"
4 | kvm_vm_hostname: ~
5 | kvm_host_username: "{{ ansible_ssh_user }}"
6 | kvm_host_password: "{{ ansible_ssh_pass }}"
7 | #kvm_vm_base_img: ~
8 | kvm_vm_vcpus: "8"
9 | kvm_vm_ram: "24576"
10 | kvm_vm_os_disk_size: "100"
11 | kvm_pinning: true
12 | ctrl_mgmt_ip: ~
13 | ctrl_mgmt_mask: ~
14 | ctrl_default_gw: ~
15 |
16 | kvm_network_type: "direct"
17 | kvm_network_source_mode: "bridge"
18 | kvm_network_model: "virtio"
19 |
20 | state: "create"
21 | kvm_force_mode: true
22 | kvm_host_mgmt_intf: ~
23 | CI_ISO: /var/lib/libvirt/images/{{ kvm_vm_hostname }}-cidata.iso
24 |
--------------------------------------------------------------------------------
/molecule/default/verify.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Verify
3 | hosts: all
4 | vars:
5 | role_under_test: "aviconfig"
6 | collections:
7 | - vmware.alb
8 |
9 | tasks:
10 | - name: Test loading vars example
11 | import_role:
12 | name: "{{ role_under_test }}"
13 | vars:
14 | avi_config_file: files/config.yml
15 | avi_creds_file: files/creds.yml
16 |
17 | - name: Test avi_config passing
18 | import_role:
19 | name: "{{ role_under_test }}"
20 | vars:
21 | avi_config: {}
22 |
23 | - name: Test avi_config_state
24 | import_role:
25 | name: "{{ role_under_test }}"
26 | vars:
27 | avi_config: {}
28 | avi_config_state: absent
29 |
--------------------------------------------------------------------------------
/molecule/default/converge.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Converge
3 | hosts: all
4 | vars:
5 | cluster_uuid: "{{uuid}}"
6 | avi_role_config_log_mode: 'false'
7 | vars_files:
8 | - files/creds.yml
9 | collections:
10 | - vmware.alb
11 | tasks:
12 | - name: Get cloud information
13 | avi_api_session:
14 | avi_credentials: "{{ avi_credentials }}"
15 | http_method: get
16 | path: cluster
17 | register: get_result
18 |
19 | - set_fact:
20 | cluster_uuid: "{{ get_result.obj.uuid }}"
21 |
22 | - name: "Avi Application | Config Role"
23 | include_role:
24 | name: "aviconfig"
25 | vars:
26 | avi_config_file: files/avi_config.yml
27 |
--------------------------------------------------------------------------------
/roles/avise/molecule/default/playbook.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Converge
3 | hosts: all
4 | pre_tasks:
5 | - name: upgrade python
6 | package:
7 | name: python
8 | state: latest
9 | - name: create containerd folder
10 | file:
11 | path: /etc/systemd/system/containerd.service.d
12 | state: directory
13 | when: ansible_service_mgr == "systemd"
14 | - name: override file for containerd
15 | copy:
16 | src: files/override.conf
17 | dest: /etc/systemd/system/containerd.service.d/override.conf
18 | when: ansible_service_mgr == "systemd"
19 | roles:
20 | - role: avinetworks.docker
21 | - role: avinetworks.avisdk
22 | - role: avinetworks.avise
23 |
--------------------------------------------------------------------------------
/.github/workflows/release.yaml:
--------------------------------------------------------------------------------
1 | name: Release collection to Ansible Galaxy
2 | on:
3 | release:
4 | types:
5 | - published
6 | jobs:
7 | deploy:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - name: Checkout repo
11 | uses: actions/checkout@v2
12 | - name: Set up Python 3.8
13 | uses: actions/setup-python@v2
14 | with:
15 | python-version: 3.8
16 | - name: Install ansible-base to deploy collection
17 | run: pip install ansible-base
18 | - name: Build and Deploy Collection
19 | #uses: artis3n/ansible_galaxy_collection@v2
20 | uses: arillso/action.ansible.collection@master
21 | with:
22 | api_key: ${{ secrets.GALAXY_API_KEY }}
23 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/molecule/default/INSTALL.rst:
--------------------------------------------------------------------------------
1 | ********************************
2 | Docker driver installation guide
3 | ********************************
4 |
5 | Requirements
6 | ============
7 |
8 | * Docker Engine
9 |
10 | Install
11 | =======
12 |
13 | Please refer to the `Virtual environment`_ documentation for installation best
14 | practices. If not using a virtual environment, please consider passing the
15 | widely recommended `'--user' flag`_ when invoking ``pip``.
16 |
17 | .. _Virtual environment: https://virtualenv.pypa.io/en/latest/
18 | .. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
19 |
20 | .. code-block:: bash
21 |
22 | $ pip install 'molecule[docker]'
23 |
--------------------------------------------------------------------------------
/molecule/default/cleanup.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Cleanup
3 | hosts: all
4 | vars:
5 | cluster_uuid: "{{uuid}}"
6 | avi_role_config_log_mode: 'false'
7 | avi_config_state: 'absent'
8 | vars_files:
9 | - files/creds.yml
10 | collections:
11 | - vmware.alb
12 | tasks:
13 | - name: Get cloud information
14 | avi_api_session:
15 | avi_credentials: "{{ avi_credentials }}"
16 | http_method: get
17 | path: cluster
18 | register: get_result
19 |
20 | - set_fact:
21 | cluster_uuid: "{{ get_result.obj.uuid }}"
22 |
23 | - name: "Avi Application | Config Role"
24 | include_role:
25 | name: "aviconfig"
26 | vars:
27 | avi_config_file: files/avi_config.yml
28 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/services/systemd/install.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: systemd | Deploy the avise service
3 | template:
4 | src: "{{ se_service_files_path }}avise_service.j2"
5 | dest: /etc/systemd/system/avise.service
6 | mode: 0644
7 | become: true
8 | notify:
9 | - Avi SE | Services | systemd | Daemon reload
10 | - Avi SE | Services | Restart the avise service
11 |
12 | - name: restorecon avise SELinux context to systemd_unit_file_t
13 | command: "restorecon /etc/systemd/system/avise.service -F"
14 | register: result
15 | failed_when: result.rc > 0
16 | become: true
17 | ignore_errors: yes
18 |
19 | notify:
20 | - Avi SE | Services | systemd | Daemon reload
21 | - Avi SE | Services | Restart the avise service
22 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/fresh_install.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Avi Controller | Requirements | systemd | Check the avicontroller service exist
3 | stat: path=/etc/systemd/system/avicontroller.service
4 | register: service_status
5 |
6 | - name: Avi Controller | Requirements | systemd | Stop the avicontroller service for fresh install
7 | systemd: daemon_reload=yes name=avicontroller enabled=no state=stopped
8 | when: ansible_service_mgr == 'systemd' and service_status.stat.exists
9 |
10 | - name: Avi Controller | Requirements | Clean directories for fresh install
11 | file: path="{{ item }}" state=absent
12 | when: item != None
13 | with_items:
14 | - "{{ con_disk_path }}"
15 | - "{{ con_metrics_disk_path }}"
16 | - "{{ con_logs_disk_path }}"
17 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/avihost.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Cleanup avihost service
3 | service: name=avihost enabled=no state=stopped
4 | become: true
5 | ignore_errors: yes
6 |
7 | - name: Copy Avi Host script to remote machine
8 | copy:
9 | src: "systemd/avi_host_server.py"
10 | dest: /usr/sbin/avi_host_server.py
11 | mode: 0755
12 | become: true
13 |
14 | - name: systemd | Deploy the avihost service
15 | copy:
16 | src: "systemd/avihost.service"
17 | dest: /etc/systemd/system/avihost.service
18 | mode: 0644
19 | become: true
20 |
21 | - name: systemd | Deploy the avihost service script
22 | copy:
23 | src: "systemd/avihost_service_script.sh"
24 | dest: /etc/systemd/system/avihost_service_script.sh
25 | mode: 0755
26 | become: true
27 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/se_check.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Checks for blocking SE
3 | include: check_cloud.yml
4 |
5 | - name: Check if Avi SE is running in systemd
6 | command: "systemctl status avise"
7 | when: ansible_service_mgr == "systemd"
8 | register: result
9 | failed_when: result.rc > 0
10 | changed_when: false
11 | become: true
12 |
13 | - name: Check if Avi SE is running in non-systemd
14 | command: "service avise_watcher status"
15 | when: ansible_service_mgr != "systemd"
16 | register: result
17 | failed_when: result.rc > 0
18 | changed_when: false
19 | become: true
20 |
21 | - name: Check if se_agent is running
22 | shell: "ps -aef | grep se_agent | grep -v grep | wc -l"
23 | register: result
24 | failed_when: result.stdout|int != 1
25 | changed_when: false
26 | become: true
27 |
--------------------------------------------------------------------------------
/roles/avise/molecule/default/tests/test_default.py:
--------------------------------------------------------------------------------
1 | ############################################################################
2 | # ========================================================================
3 | # Copyright 2022 VMware, Inc. All rights reserved. VMware Confidential
4 | # ========================================================================
5 | ###
6 | from __future__ import (absolute_import, division, print_function)
7 | __metaclass__ = type
8 | import os
9 |
10 | import testinfra.utils.ansible_runner
11 |
12 | testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
13 | os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
14 |
15 |
16 | def test_hosts_file(host):
17 | f = host.file('/etc/hosts')
18 |
19 | assert f.exists
20 | assert f.user == 'root'
21 | assert f.group == 'root'
22 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/block_se.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - block:
3 | - name: Block SE creation on controller host when inband and dpdk enabled
4 | stat: path=/etc/systemd/system/avicontroller.service
5 | register: st
6 |
7 | - name: Get management IP
8 | shell: "cat /etc/systemd/system/avicontroller.service | grep MANAGEMENT_IP="
9 | register: res
10 | when: st.stat.exists
11 | ignore_errors: yes
12 | changed_when: false
13 |
14 | - name: Set error message
15 | set_fact:
16 | error_string: "Cannot create ServiceEngine with both inband management and DPDK enabled, since AVI controller is running on the host"
17 | - include: error.yml
18 | when: (res.rc is defined ) and (res.rc == 0)
19 | when: se_dpdk and se_inband_mgmt
20 |
21 | - name: Checks for blocking SE
22 | include: check_cloud.yml
23 |
--------------------------------------------------------------------------------
/testing.md:
--------------------------------------------------------------------------------
1 | # Testing Ansible Collection: vmware.alb
2 |
3 | ##### Generate ansible collections artifacts
4 | To test the vmware.alb collection first you need to setup the develop environment inside the dev machine
5 | after that hit the following command in build directory to generate collections artifacts
6 |
7 | ```
8 | $ make ansible_code_gen
9 | ```
10 |
11 |
12 | ##### Testing with `ansible-test`
13 |
14 | ##### Build & Install collection tar
15 |
16 | ```
17 | $ cd /path/to/generated/collections/directory
18 | $ ansible-galaxy collection build
19 | $ ansible-galaxy collection install vmware-alb-1.0.0.tar.gz
20 | $ cd ~/.ansible/collections/ansible_collections/vmware/alb
21 | ```
22 | ##### Run ansible tests
23 |
24 | ```
25 | $ sudo ansible-test units --requirements -vvvv --docker
26 | $ sudo ansible-test sanity --requirements -vvvv --docker
27 |
--------------------------------------------------------------------------------
/roles/avise_kvm/defaults/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # defaults file for playbooks/roles/kvm-vm
3 | kvm_host_ip: "{{ inventory_hostname }}"
4 | kvm_vm_hostname: ~
5 | kvm_host_username: "{{ ansible_ssh_user }}"
6 | kvm_host_password: "{{ ansible_ssh_pass }}"
7 | # kvm_vm_base_img: ~
8 | kvm_vm_vcpus: "2"
9 | kvm_vm_ram: "2048"
10 | kvm_vm_os_disk_size: "20"
11 |
12 | se_kvm_ctrl_ip: ~
13 | se_kvm_ctrl_username: ~
14 | se_kvm_ctrl_password: ~
15 | se_kvm_ctrl_version: ~
16 |
17 | se_kvm_mgmt_ip: ~
18 | se_kvm_mgmt_mask: ~
19 | se_kvm_default_gw: ~
20 | se_bond_seq: ~
21 | se_kvm_vnics_config: ~
22 | se_tenant: "admin"
23 | se_image_gen_timeout: 700
24 |
25 | kvm_host_mgmt_intf: ~
26 | kvm_pinning: true
27 | kvm_force_mode: true
28 | state: "create"
29 | kvm_virt_intf_name: ~
30 | kvm_total_num_vfs: ~
31 | ci_iso: /var/lib/libvirt/images/{{ kvm_vm_hostname }}-cidata.iso
32 |
--------------------------------------------------------------------------------
/roles/avise/molecule/default/molecule.yml:
--------------------------------------------------------------------------------
1 | ---
2 | dependency:
3 | name: galaxy
4 | driver:
5 | name: docker
6 | lint:
7 | name: yamllint
8 | options:
9 | config-file: molecule/default/.yamllint
10 | platforms:
11 | - name: ${MOLECULE_DISTRO:-ubuntu_bionic}
12 | image: ${MOLECULE_DISTRO:-ubuntu:bionic}
13 | privileged: true
14 | service_manager: ${MOLECULE_SERVICE_MANAGER:-systemd}
15 | volumes:
16 | - /sys/fs/cgroup:/sys/fs/cgroup:ro
17 | command: ${MOLECULE_COMMAND:-"/lib/systemd/systemd"}
18 | provisioner:
19 | name: ansible
20 | lint:
21 | name: ansible-lint
22 | options:
23 | x:
24 | - ANSIBLE0006
25 | - ANSIBLE0010
26 | playbooks:
27 | converge: ${MOLECULE_PLAYBOOK:-playbook.yml}
28 | scenario:
29 | name: default
30 | verifier:
31 | name: testinfra
32 | lint:
33 | name: flake8
34 |
--------------------------------------------------------------------------------
/roles/avise_vmware/tasks/requirements.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Avi SE | VMware | Requirements | Check variables
3 | assert:
4 | that:
5 | - "{{ item }} != None"
6 | msg: "{{ item }} must be provided"
7 | with_items:
8 | - se_leader_ctl_ip
9 | - se_leader_ctl_username
10 | - se_leader_ctl_password
11 | - se_vmw_disk_size
12 | - se_vmw_vm_name
13 | - se_vmw_number_of_cpus
14 | - se_vmw_memory
15 | when: not se_skip_requirements
16 |
17 | - name: Avi SE | VMware | Requirements | Validate Sizing
18 | assert:
19 | that:
20 | - "{{ item.expr }}"
21 | msg: "{{ item.msg }}"
22 | with_items:
23 | - expr: se_vmw_number_of_cpus|int >= 1
24 | msg: "Must have 1 or more CPU"
25 | - expr: se_vmw_memory|int >= 1024
26 | msg: "Must have 1024MB or more memory"
27 | - expr: se_vmw_disk_size|int >= 10
28 | msg: "Must have 10GB or more disk size"
29 | when: not se_skip_requirements
30 |
--------------------------------------------------------------------------------
/roles/avicontroller/templates/default/avicontroller.j2:
--------------------------------------------------------------------------------
1 | # Defaults file for avicontroller service used by /usr/sbin/avicontroller
2 |
3 | ### Set common variables ###
4 |
5 | # If you would like to change the location of the log file, you can modify the setting here.
6 | AVICONTROLLER_LOGFILE="/var/log/avicontroller.log"
7 |
8 | # The following value is the management device that the controller will use.
9 | # This interface is managed by the service and is used when working with clusters
10 | # to properly shut down the sub-interface when a new master is chosen.
11 | AVICONTROLLER_DEV_NAME="{{ con_dev_name }}"
12 |
13 | # If you'd like to modify the run parameters that are supplied to the service
14 | # you can take full control here. When starting the controller we will use
15 | # /usr/bin/docker run ${AVICONTROLLER_DOCKER_RUN_PARAMS} so anything you put in
16 | # here will be supplied in that manner.
17 | AVICONTROLLER_DOCKER_RUN_PARAMS="{{ con_docker_run_params }}"
18 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/custom_repo.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # These steps will allow a user to specify a private docker repository and login to that
3 | # respository to pull docker images.
4 | #
5 | - block:
6 | - name: Avi Controller | Docker | Log into the custom docker repository
7 | shell: "docker login -u {{ con_docker_repo_user }} -p {{ con_docker_repo_password }} {{ con_docker_repo }}"
8 | register: con_docker_repo_login
9 | when:
10 | - con_docker_repo_user != None
11 | - con_docker_repo_password != None
12 | - name: Avi Controller | Docker | Load the image from custom docker repository
13 | shell: "docker pull {{ con_docker_repo }}/{{ con_image }}"
14 | register: con_load_docker_repo
15 | changed_when: "'Status: Image is up to date' not in con_load_docker_repo.stdout"
16 | notify: Avi Controller | Services | Restart the avicontroller service
17 | when: not con_docker_match.stdout or con_version == "latest"
18 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/family/redhat.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Verify if firewalld service is installed/present
3 | - name: Avi Controller | Docker | Family | Verify Firewalld is present
4 | command: systemctl is-enabled firewalld # noqa 303
5 | register: result
6 | failed_when: false
7 | changed_when: false
8 |
9 | # Disable and stop firewalld
10 | - name: Avi Controller | Docker | Family | Disable and stop Firewalld
11 | service: name="firewalld" state="stopped" enabled="no"
12 | when: result.stdout == "enabled"
13 |
14 | # Verify if snmpd service is installed/present and enable
15 | - name: Avi Controller | Docker | Family | Verify snmpd is present
16 | command: systemctl is-enabled snmpd # noqa 303
17 | register: snmpd_result
18 | failed_when: false
19 | changed_when: false
20 |
21 | # Disable and stop snmpd
22 | - name: Avi Controller | Docker | Family | Disable and stop snmpd
23 | service: name="snmpd" state="stopped" enabled="no"
24 | when: snmpd_result.stdout == "enabled"
25 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Deployment using CSP. This does require you to download the QCOW from the Avi customer portal.
3 | # Using the relative, or absolute location of the file will allow you to upload, and configure the CSP service.
4 | - name: Check ansible version
5 | when:
6 | - ansible_version.full is version_compare('2.4', '<')
7 | debug:
8 | msg: >-
9 | This role works best with ansible version 2.4 or greater.
10 | It is recommended to use the latest ansible version for the best experience."
11 |
12 | - name: Avi Controller | CSP | Requirements
13 | include: requirements.yml
14 |
15 | - name: Avi Controller | CSP | Image deploy
16 | include: qcow_deploy.yml
17 |
18 | - name: Avi Controller | CSP | Metafile deploy
19 | include: metafile_deploy.yml
20 |
21 | - name: Avi Controller | CSP | Service deploy
22 | include: service_deploy.yml
23 |
24 | - name: Avi Controller | CSP | Validate controller service
25 | include: validate_controller.yml
26 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/tasks/requirements.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Avi Controller | CSP | Requirements | Check variables
3 | assert:
4 | that:
5 | - "{{ item }} != None"
6 | msg: "{{ item }} must be provided"
7 | with_items:
8 | - con_csp_user
9 | - con_csp_password
10 | - con_csp_qcow_image_file
11 | - con_csp_mgmt_ip
12 | - con_csp_mgmt_mask
13 | - con_csp_default_gw
14 | - con_csp_disk_size
15 | - con_csp_num_cpu
16 | - con_csp_memory_mb
17 | when: not con_skip_requirements
18 |
19 | - name: Avi Controller | CSP | Requirements | Validate Sizing
20 | assert:
21 | that:
22 | - "{{ item.expr }}"
23 | msg: "{{ item.msg }}"
24 | with_items:
25 | - expr: con_csp_num_cpu|int >= 4
26 | msg: "Must have 4 or more CPU"
27 | - expr: con_csp_memory_mb|int >= 24576
28 | msg: "Must have 24GB or more memory"
29 | - expr: con_csp_disk_size|int >= 64
30 | msg: "Must have 64GB or more disk size"
31 | when: not con_skip_requirements
32 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/serviceenginegroup_advanced_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ServiceEngineGroup
5 | no_log: "False"
6 | vmware.alb.avi_serviceenginegroup_advanced:
7 |
8 | controller: "{{ avi_controller | default(omit) }}"
9 | username: "{{ avi_username | default(omit) }}"
10 | password: "{{ avi_password | default(omit) }}"
11 | tenant: "{{ item.tenant | default(omit) }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | name: "{{ item.name | default(omit) }}"
15 | with_items: "{{ avi_role_cfg.serviceenginegroup_advanced | default([]) }}"
16 | when:
17 | - (item.name | length > 0)
18 | - (not (item.system_default | default(false)))
19 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
20 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
--------------------------------------------------------------------------------
/roles/avise_csp/tasks/main.yml:
--------------------------------------------------------------------------------
1 | # Deployment using CSP. This does require you to download the QCOW from the Avi customer portal.
2 | # Using the relative, or absolute location of the file will allow you to upload, and configure the CSP service.
3 | #
4 |
5 | - name: Check ansible version
6 | when:
7 | - ansible_version.full is version_compare('2.4', '<')
8 | debug: msg="This role works best with ansible version 2.4 or greater. It is recommended to use the latest ansible version for the best experience."
9 |
10 | - name: Avi SE | Set facts
11 | set_fact:
12 | se_autoregister: false
13 | when: se_auth_token != None
14 |
15 | - name: Avi SE | CSP | Initial Data
16 | include: initial_data.yml
17 |
18 | - name: Avi SE | CSP | Requirements
19 | include: requirements.yml
20 |
21 | - name: Avi SE | CSP | Image deploy
22 | include: qcow_deploy.yml
23 |
24 | - name: Avi SE | CSP | Metafile deploy
25 | include: metafile_deploy.yml
26 |
27 | - name: Avi SE | CSP | Service deploy
28 | include: service_deploy.yml
29 |
--------------------------------------------------------------------------------
/roles/avicontroller/molecule/default/Dockerfile.j2:
--------------------------------------------------------------------------------
1 | # Molecule managed
2 |
3 | {% if item.registry is defined %}
4 | FROM {{ item.registry.url }}/{{ item.image }}
5 | {% else %}
6 | FROM {{ item.image }}
7 | {% endif %}
8 |
9 | RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get install -y python sudo bash ca-certificates && apt-get clean; \
10 | elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install python sudo python-devel python*-dnf bash && dnf clean all; \
11 | elif [ $(command -v yum) ]; then yum makecache fast && yum install -y python sudo yum-plugin-ovl bash && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
12 | elif [ $(command -v zypper) ]; then zypper refresh && zypper install -y python sudo bash python-xml && zypper clean -a; \
13 | elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates; \
14 | elif [ $(command -v xbps-install) ]; then xbps-install -Syu && xbps-install -y python sudo bash ca-certificates && xbps-remove -O; fi
15 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/molecule/default/Dockerfile.j2:
--------------------------------------------------------------------------------
1 | # Molecule managed
2 |
3 | {% if item.registry is defined %}
4 | FROM {{ item.registry.url }}/{{ item.image }}
5 | {% else %}
6 | FROM {{ item.image }}
7 | {% endif %}
8 |
9 | RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get install -y python sudo bash ca-certificates && apt-get clean; \
10 | elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install python sudo python-devel python*-dnf bash && dnf clean all; \
11 | elif [ $(command -v yum) ]; then yum makecache fast && yum install -y python sudo yum-plugin-ovl bash && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
12 | elif [ $(command -v zypper) ]; then zypper refresh && zypper install -y python sudo bash python-xml && zypper clean -a; \
13 | elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates; \
14 | elif [ $(command -v xbps-install) ]; then xbps-install -Syu && xbps-install -y python sudo bash ca-certificates && xbps-remove -O; fi
15 |
--------------------------------------------------------------------------------
/roles/avise/README_ADVANCED.md:
--------------------------------------------------------------------------------
1 | # vmware.alb.avise
2 |
3 | This readme covers the advanced features of this role. These notes are for advanced users or customizing this role to use in unique environments including Development environments. Please use the following with extreme caution.
4 |
5 | ## Role Variables
6 |
7 | ### Parameter Override Variables
8 | However, you are able to provide these parameters another way. Using the following variables. This will allow the user to customize all values.
9 | **!!!BEWARE: USING THIS WILL ERASE DEFAULTS - USE WITH CAUTION!!!**
10 |
11 | ```
12 |
13 | se_env_variables_all:
14 | - "CONTAINER_NAME=avise"
15 | - "CONTROLLERIP=10.10.27.101""
16 | - "NTHREADS=4"
17 | - "SEMEMMB=4096"
18 | - "DOCKERNETWORKMODE=HOST"
19 |
20 | se_mounts_all:
21 | - "/mnt:/mnt"
22 | - "/dev:/dev"
23 | - "/etc/sysconfig/network-scripts:/etc/sysconfig/network-scripts"
24 | - "/:/hostroot/"
25 | - "/etc/hostname:/etc/host_hostname"
26 | - "/etc/localtime:/etc/localtime"
27 | - "/var/run/docker.sock:/var/run/docker.sock"
28 | - "/opt/avi/se/data:/vol/"
29 | ```
30 |
--------------------------------------------------------------------------------
/roles/avicontroller/README_ADVANCED.md:
--------------------------------------------------------------------------------
1 | # avinetworks.avicontroller
2 |
3 | This readme covers the advanced features of this role. These notes are for advanced users or customizing this role to use in unique environments including Development environments. Please use the following with extreme caution.
4 |
5 | ## Role Variables
6 |
7 | ### Parameter Override Variables
8 | However, you are able to provide these parameters another way. Using the following variables. This will allow the user to customize all values.
9 | **!!!BEWARE: USING THIS WILL ERASE DEFAULTS - USE WITH CAUTION!!!**
10 |
11 |
12 | ```
13 |
14 | con_env_variables_all:
15 | - "CONTAINER_NAME=avicontroller"
16 | - "MANAGEMENT_IP={{ con_controller_ip | string}}"
17 | - "NUM_CPU={{ con_cores }}"
18 | - "NUM_MEMG={{ con_memory_gb }}"
19 | - "DISK_GB={{ con_disk_gb }}"
20 |
21 | con_mounts_all:
22 | - "/:/hostroot/"
23 | - "/var/run/docker.sock:/var/run/docker.sock"
24 | - "{{ con_disk_path }}:/vol/"
25 |
26 | con_ports_list_all:
27 | - "5098:5098"
28 | - "80:80"
29 | - "443:443"
30 | - "8443:8443"
31 | - "5054:5054"
32 | - "161:161/udp"
33 | ```
34 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/se_start.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Checking minimum requirements
3 | include: requirements.yml
4 |
5 | - name: Avi SE | Docker | Check if specified image already exists.
6 | shell: "{{ se_deploy_type }} images | grep avinetworks/se | grep {{ se_version }} | wc -l"
7 | changed_when: false
8 | register: se_docker_match
9 | become: true
10 |
11 | - block:
12 | - name: Copy SE image
13 | copy: src={{ se_package_source }} dest={{ se_package_dest }}
14 | - name: Load docker image
15 | command: "{{ se_deploy_type }} load -i {{ se_package_dest }}"
16 | when: se_docker_match.stdout|int != 1
17 | become: true
18 |
19 | - block:
20 | - name: Enable Podman Socket
21 | command: "systemctl enable podman.socket"
22 | when: se_deploy_type == "podman"
23 | become: true
24 |
25 | - block:
26 | - name: Start Podman Socket
27 | command: "systemctl start podman.socket"
28 | when: se_deploy_type == "podman"
29 | become: true
30 |
31 | - name: Avi SE | Install DPDK
32 | include: dpdk.yml
33 | when: se_dpdk
34 |
35 | - name: Avi SE | Install the Avi SE service
36 | include: services/install.yml
37 |
--------------------------------------------------------------------------------
/roles/avise_vmware/defaults/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # defaults file for avise_vmware
3 | se_skip_requirements: false
4 |
5 | # se_autoregister parameters
6 | se_autoregister: true
7 | se_auth_token: ~
8 | se_leader_ctl_ip: ~
9 | se_leader_ctl_username: ~
10 | se_leader_ctl_password: ~
11 | se_tenant: admin
12 | se_cloud_name: Default-Cloud
13 | se_group_name: Default-Group
14 |
15 | se_vmw_ova_force_mode: false
16 | se_vmw_ova_image_file: se.ova
17 | se_vmw_ova_image_name: ~
18 | se_vmw_ova_path: ~
19 |
20 | ovftool_path: /usr/bin/
21 | vcenter_host: ~
22 | vcenter_user: ~
23 | vcenter_password: ~
24 | ssl_verify: false
25 | state: "present"
26 | se_vmw_datacenter: ~
27 | se_vmw_cluster: ~
28 | se_vmw_datastore: ~
29 | se_vmw_ovf_networks: ~
30 | se_vmw_disk_mode: thin
31 | se_vmw_vm_name: ~
32 | se_vmw_power_on: ~
33 | se_vmw_vcenter_folder: ~
34 | se_vmw_mgmt_ip: ~
35 | se_vmw_mgmt_mask: ~
36 | se_vmw_default_gw: ~
37 | se_vmw_sysadmin_public_key: ~
38 | se_vmw_number_of_cpus: ~
39 | se_vmw_cpu_reserved: ~
40 | se_vmw_memory: ~
41 | se_vmw_memory_reserved: ~
42 | se_vmw_disk_size: 15
43 | se_vmw_ovf_properties: ~
44 | se_vmw_ova_download_path: .
45 | se_vmw_host: ~
46 |
--------------------------------------------------------------------------------
/roles/avise_csp/tasks/requirements.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Avi SE | CSP | Requirements | Check variables
3 | assert:
4 | that:
5 | - "{{ item }} != None"
6 | msg: "{{ item }} must be provided"
7 | with_items:
8 | - se_csp_user
9 | - se_csp_password
10 | - se_csp_qcow_image_file
11 | - se_csp_qcow_image_name
12 | - se_csp_mgmt_ip
13 | - se_csp_mgmt_mask
14 | - se_csp_default_gw
15 | - se_master_ctl_ip
16 | - se_csp_disk_size
17 | - se_csp_service_name
18 | - se_csp_num_cpu
19 | - se_csp_memory_gb
20 | when: not se_skip_requirements
21 |
22 | - name: Avi SE | CSP | Requirements | Validate Sizing
23 | assert:
24 | that:
25 | - "{{ item.expr }}"
26 | msg: "{{ item.msg }}"
27 | with_items:
28 | - expr: se_csp_num_cpu|int >= 1
29 | msg: "Must have 1 or more CPU"
30 | - expr: se_csp_memory_gb|int >= 1
31 | msg: "Must have 1GB or more memory"
32 | - expr: se_csp_disk_size|int >= 10
33 | msg: "Must have 10GB or more disk size"
34 | when: not se_skip_requirements
35 |
36 | - name: Avi SE | CSP | Requirements | SSHPass Check on Controller
37 | command: which sshpass
38 | changed_when: false
39 |
--------------------------------------------------------------------------------
/roles/avise/tasks/docker/check_cloud.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Read existing docker run params
3 | include: docker_run.yml
4 |
5 | - block:
6 | - name: Read existing cloud uuid
7 | shell: "echo {{ se_existing_run_params }} | sed -e 's/CLOUD_UUID=/\\n/g' | awk 'FNR == 2 {print $1}'"
8 | register: c_uuid
9 | - name: Read existing controller IP
10 | shell: "echo {{ se_existing_run_params }} | sed -e 's/CONTROLLERIP=/\\n/g' | awk 'FNR == 2 {print $1}'"
11 | register: cip
12 | - name: Read existing cloud name
13 | shell: "echo {{ se_existing_run_params }} | sed -e 's/CLOUD_NAME=/\\n/g' | awk 'FNR == 2 {print $1}'"
14 | register: cname
15 | when: se_existing_run_params is defined
16 |
17 | - block:
18 | - name: Check the cloud uuids
19 | set_fact:
20 | error_string: "Cannot create ServiceEngine since it is running on Cloud '{{ cname.stdout }}' on Controller '{{ cip.stdout }}'"
21 | - include: error.yml
22 | when: >
23 | se_service_file.stat.exists and c_uuid.stdout is defined and cname.stdout is defined and cip.stdout is defined
24 | and c_uuid.stdout|string != cloud_uuid|string
25 |
26 | - name: Read existing SE version
27 | set_fact:
28 | se_existing_ver: "{{ se_existing_run_params.split(':') | last }}"
29 | when: se_existing_run_params is defined
30 |
--------------------------------------------------------------------------------
/roles/avise/tests/jenkins/docker/se_package_with_autoregister_true.yml:
--------------------------------------------------------------------------------
1 | # ansible-playbook se_package_with_autoregister_true.yml /
2 | # -i 10.70.160.54, /
3 | # --ask-pass /
4 | # --ask-become-pass /
5 | # -e "controller_ip=10.70.160.51 controller_username=admin controller_password=AviNetworks123!" /
6 | # -u root /
7 | # --tags ubuntu
8 |
9 | - hosts: all
10 | become: yes
11 | gather_facts: no
12 | pre_tasks:
13 | - name: 'install python2'
14 | raw: sudo apt-get -y install python-simplejson
15 | failed_when: false
16 |
17 | - hosts: all
18 | become: yes
19 | pre_tasks:
20 | - name: Enable ipv4 forwarding
21 | sysctl: name="net.ipv4.ip_forward" value=1 sysctl_set=yes state=present reload=yes
22 | - name: Deactivate and stop Firewalld
23 | service: name="firewalld" state="stopped" enabled="no"
24 | when: ansible_distribution == "Redhat"
25 | roles:
26 | - role: avinetworks.avisdk
27 | - role: avinetworks.docker
28 | - role: avinetworks.avise
29 | se_leader_ctl_ip: "{{ controller_ip }}"
30 | se_leader_ctl_username: "{{ controller_username }}"
31 | se_leader_ctl_password: "{{ controller_password }}"
32 | se_package_deploy: true
33 | se_package_source: se_docker.tgz
34 | se_cores: 4
35 | se_memory_gb: 8
36 | se_disk_gb: 12
37 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/botmapping.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi BotMapping | Create or Update BotMapping
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_botmapping:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | mapping_rules: "{{ item.mapping_rules | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (avi_role_state_mode == "present" and avi_config_state == "present")
23 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
24 | with_items: "{{ avi_role_cfg.botmapping | default([]) }}"
25 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/labelgroup.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi LabelGroup | Create or Update LabelGroup
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_labelgroup:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | labels: "{{ item.labels | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (avi_role_state_mode == "present" and avi_config_state == "present")
23 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
24 | with_items: "{{ avi_role_cfg.labelgroup | default([]) }}"
25 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/securitymanagerdata.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi SecurityManagerData | Create or Update SecurityManagerData
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_securitymanagerdata:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | app_learning_info: "{{ item.app_learning_info | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (avi_role_state_mode == "present" and avi_config_state == "present")
23 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
24 | with_items: "{{ avi_role_cfg.securitymanagerdata | default([]) }}"
25 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/licenseledgerdetails.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi LicenseLedgerDetails | Create or Update LicenseLedgerDetails
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_licenseledgerdetails:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | escrow_infos: "{{ item.escrow_infos | default(omit) }}"
18 | se_infos: "{{ item.se_infos | default(omit) }}"
19 | tier_usages: "{{ item.tier_usages | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (avi_role_state_mode == "present" and avi_config_state == "present")
23 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
24 | with_items: "{{ avi_role_cfg.licenseledgerdetails | default([]) }}"
25 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/testsedatastorelevel3.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi TestSeDatastoreLevel3 | Create or Update TestSeDatastoreLevel3
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_testsedatastorelevel3:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (avi_role_state_mode == "present" and avi_config_state == "present")
23 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
24 | with_items: "{{ avi_role_cfg.testsedatastorelevel3 | default([]) }}"
25 |
--------------------------------------------------------------------------------
/roles/avise/tests/jenkins/docker/se_package_with_autoregister_true_inband.yml:
--------------------------------------------------------------------------------
1 | # ansible-playbook se_package_with_autoregister_true.yml -i 10.70.160.54, --ask-pass --ask-become-pass -e "controller_ip=10.70.160.51 controller_username=admin controller_password=AviNetworks123!" -u root --tags ubuntu
2 |
3 | - hosts: all
4 | become: yes
5 | gather_facts: no
6 | pre_tasks:
7 | - name: 'install python2'
8 | raw: sudo apt-get -y install python-simplejson
9 | failed_when: false
10 |
11 | - hosts: all
12 | become: yes
13 | pre_tasks:
14 | - name: Enable ipv4 forwarding
15 | sysctl: name="net.ipv4.ip_forward" value=1 sysctl_set=yes state=present reload=yes
16 | - name: Deactivate and stop Firewalld
17 | service: name="firewalld" state="stopped" enabled="no"
18 | when: ansible_distribution == "Redhat"
19 | roles:
20 | - role: avinetworks.avisdk
21 | - role: avinetworks.docker
22 | - role: avinetworks.avise
23 | se_leader_ctl_ip: "{{ controller_ip }}"
24 | se_leader_ctl_username: "{{ controller_username }}"
25 | se_leader_ctl_password: "{{ controller_password }}"
26 | se_package_deploy: true
27 | se_package_source: se_docker.tgz
28 | se_cores: 4
29 | se_memory_gb: 8
30 | se_inband_mgmt: true
31 | se_dpdk: true
32 | se_destination_disk: /avi/
33 | se_disk_gb: 12
34 | se_logs_disk_path: /avi/logs/
35 | se_logs_disk_gb: 12
36 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/botmapping_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi BotMapping | Delete BotMapping
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_botmapping:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | mapping_rules: "{{ item.mapping_rules | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (item.name | length > 0)
23 | - (not (item.system_default | default(false)))
24 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.botmapping | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/labelgroup_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi LabelGroup | Delete LabelGroup
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_labelgroup:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | labels: "{{ item.labels | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (item.name | length > 0)
23 | - (not (item.system_default | default(false)))
24 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.labelgroup | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/botipreputationtypemapping.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi BotIPReputationTypeMapping | Create or Update BotIPReputationTypeMapping
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_botipreputationtypemapping:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | ip_reputation_mappings: "{{ item.ip_reputation_mappings | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (avi_role_state_mode == "present" and avi_config_state == "present")
23 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
24 | with_items: "{{ avi_role_cfg.botipreputationtypemapping | default([]) }}"
25 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/botconfigconsolidator.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi BotConfigConsolidator | Create or Update BotConfigConsolidator
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_botconfigconsolidator:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | description: "{{ item.description | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | script: "{{ item.script | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (avi_role_state_mode == "present" and avi_config_state == "present")
24 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
25 | with_items: "{{ avi_role_cfg.botconfigconsolidator | default([]) }}"
26 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/licensestatus.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi LicenseStatus | Create or Update LicenseStatus
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_licensestatus:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | saas_status: "{{ item.saas_status | default(omit) }}"
19 | service_update: "{{ item.service_update | default(omit) }}"
20 | tenant_uuid: "{{ item.tenant_uuid | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (avi_role_state_mode == "present" and avi_config_state == "present")
24 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
25 | with_items: "{{ avi_role_cfg.licensestatus | default([]) }}"
26 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/clusterclouddetails.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ClusterCloudDetails | Create or Update ClusterCloudDetails
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_clusterclouddetails:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | azure_info: "{{ item.azure_info | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (avi_role_state_mode == "present" and avi_config_state == "present")
24 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
25 | with_items: "{{ avi_role_cfg.clusterclouddetails | default([]) }}"
26 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/controllerportalregistration.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ControllerPortalRegistration | Create or Update ControllerPortalRegistration
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_controllerportalregistration:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | asset: "{{ item.asset | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | portal_auth: "{{ item.portal_auth | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (avi_role_state_mode == "present" and avi_config_state == "present")
24 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
25 | with_items: "{{ avi_role_cfg.controllerportalregistration | default([]) }}"
26 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/controllersite.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ControllerSite | Create or Update ControllerSite
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_controllersite:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | address: "{{ item.address | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | port: "{{ item.port | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (avi_role_state_mode == "present" and avi_config_state == "present")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.controllersite | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/securitymanagerdata_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi SecurityManagerData | Delete SecurityManagerData
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_securitymanagerdata:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | app_learning_info: "{{ item.app_learning_info | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (item.name | length > 0)
23 | - (not (item.system_default | default(false)))
24 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.securitymanagerdata | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/systemlimits.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi SystemLimits | Create or Update SystemLimits
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_systemlimits:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | controller_limits: "{{ item.controller_limits | default(omit) }}"
19 | controller_sizes: "{{ item.controller_sizes | default(omit) }}"
20 | serviceengine_limits: "{{ item.serviceengine_limits | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (avi_role_state_mode == "present" and avi_config_state == "present")
24 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
25 | with_items: "{{ avi_role_cfg.systemlimits | default([]) }}"
26 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/geodb.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi GeoDB | Create or Update GeoDB
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_geodb:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | description: "{{ item.description | default(omit) }}"
18 | files: "{{ item.files | default(omit) }}"
19 | is_federated: "{{ item.is_federated | default(omit) }}"
20 | mappings: "{{ item.mappings | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.geodb | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/licenseledgerdetails_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi LicenseLedgerDetails | Delete LicenseLedgerDetails
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_licenseledgerdetails:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | escrow_infos: "{{ item.escrow_infos | default(omit) }}"
18 | se_infos: "{{ item.se_infos | default(omit) }}"
19 | tier_usages: "{{ item.tier_usages | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (item.name | length > 0)
23 | - (not (item.system_default | default(false)))
24 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.licenseledgerdetails | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/cloudproperties.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi CloudProperties | Create or Update CloudProperties
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_cloudproperties:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | cc_props: "{{ item.cc_props | default(omit) }}"
18 | cc_vtypes: "{{ item.cc_vtypes | default(omit) }}"
19 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
20 | hyp_props: "{{ item.hyp_props | default(omit) }}"
21 | info: "{{ item.info | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (avi_role_state_mode == "present" and avi_config_state == "present")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.cloudproperties | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/testsedatastorelevel3_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi TestSeDatastoreLevel3 | Delete TestSeDatastoreLevel3
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_testsedatastorelevel3:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (item.name | length > 0)
23 | - (not (item.system_default | default(false)))
24 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.testsedatastorelevel3 | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/seproperties.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi SeProperties | Create or Update SeProperties
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_seproperties:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | se_agent_properties: "{{ item.se_agent_properties | default(omit) }}"
19 | se_bootup_properties: "{{ item.se_bootup_properties | default(omit) }}"
20 | se_runtime_properties: "{{ item.se_runtime_properties | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (avi_role_state_mode == "present" and avi_config_state == "present")
24 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
25 | with_items: "{{ avi_role_cfg.seproperties | default([]) }}"
26 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/snmptrapprofile.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi SnmpTrapProfile | Create or Update SnmpTrapProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_snmptrapprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | trap_servers: "{{ item.trap_servers | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (avi_role_state_mode == "present" and avi_config_state == "present")
24 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
25 | with_items: "{{ avi_role_cfg.snmptrapprofile | default([]) }}"
26 | tags:
27 | - molecule-idempotence-notest
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/errorpageprofile.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ErrorPageProfile | Create or Update ErrorPageProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_errorpageprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | error_pages: "{{ item.error_pages | default(omit) }}"
19 | markers: "{{ item.markers | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (avi_role_state_mode == "present" and avi_config_state == "present")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.errorpageprofile | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/avise/tests/jenkins/docker/se_with_autoregister_true.yml:
--------------------------------------------------------------------------------
1 | # ansible-playbook se_with_autoregister_true.yml -i 10.70.160.54, --ask-pass --ask-become-pass -e "controller_ip=10.70.160.51 controller_username=admin controller_password=AviNetworks123!" -u root
2 |
3 | - hosts: all
4 | sudo: yes
5 | gather_facts: no
6 | pre_tasks:
7 | - name: 'install python2'
8 | raw: sudo apt-get -y install python-simplejson
9 |
10 | - hosts: all
11 | become: yes
12 | pre_tasks:
13 | - name: Enable ipv4 forwarding
14 | sysctl: name="net.ipv4.ip_forward" value=1 sysctl_set=yes state=present reload=yes
15 | - name: Deactivate and stop Firewalld
16 | service: name="firewalld" state="stopped" enabled="no"
17 | when: ansible_distribution == "Redhat"
18 | - name: Get Controller information
19 | uri:
20 | url: "https://{{ se_leader_ctl_ip }}/api/initial-data"
21 | validate_certs: no
22 | register: controller_initial_data
23 | delegate_to: localhost
24 | roles:
25 | - role: avinetworks.avisdk
26 | - role: avinetworks.docker
27 | - role: avinetworks.avise
28 | se_version: "{{ controller_initial_data.json.version.Tag }}"
29 | se_leader_ctl_ip: "{{ controller_ip }}"
30 | se_leader_ctl_username: "{{ controller_username }}"
31 | se_leader_ctl_password: "{{ controller_password }}"
32 | se_cloud_name: "{{ cloud_name }}"
33 | se_tenant: "{{ tenant_name }}"
34 | se_cores: 4
35 | se_memory_gb: 8
36 | se_disk_gb: 12
37 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/availabilityzone.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi AvailabilityZone | Create or Update AvailabilityZone
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_availabilityzone:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | cloud_ref: "{{ item.cloud_ref | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | vcenter_refs: "{{ item.vcenter_refs | default(omit) }}"
23 | when:
24 | - (avi_role_state_mode == "present" and avi_config_state == "present")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.availabilityzone | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/testsedatastorelevel1.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi TestSeDatastoreLevel1 | Create or Update TestSeDatastoreLevel1
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_testsedatastorelevel1:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | test_se_datastore_level_2_ref: "{{ item.test_se_datastore_level_2_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (avi_role_state_mode == "present" and avi_config_state == "present")
24 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
25 | with_items: "{{ avi_role_cfg.testsedatastorelevel1 | default([]) }}"
26 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/testsedatastorelevel2.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi TestSeDatastoreLevel2 | Create or Update TestSeDatastoreLevel2
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_testsedatastorelevel2:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | test_se_datastore_level_3_refs: "{{ item.test_se_datastore_level_3_refs | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (avi_role_state_mode == "present" and avi_config_state == "present")
24 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
25 | with_items: "{{ avi_role_cfg.testsedatastorelevel2 | default([]) }}"
26 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/alertscriptconfig.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi AlertScriptConfig | Create or Update AlertScriptConfig
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_alertscriptconfig:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | action_script: "{{ item.action_script | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | timeout: "{{ item.timeout | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (avi_role_state_mode == "present" and avi_config_state == "present")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.alertscriptconfig | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/no_access_cloud.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 |
4 | ---
5 | - name: Avi Cloud | Setup No Access Cloud
6 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
7 | vmware.alb.avi_cloud:
8 | controller: "{{ avi_controller | default(omit) }}"
9 | username: "{{ avi_username | default(omit) }}"
10 | password: "{{ avi_password | default(omit) }}"
11 | tenant: "{{ res_config.tenant | default(omit) }}"
12 | state: "{{ avi_role_state_mode }}"
13 | api_version: "{{ api_version | default(omit) }}"
14 | avi_credentials: "{{ avi_credentials | default(omit) }}"
15 | api_context: "{{ avi_api_context | default(omit) }}"
16 | dhcp_enabled: "{{ res_config.dhcp_enabled | default(omit) }}"
17 | # To create NO_ACCESS cloud.
18 | vtype: "CLOUD_NONE"
19 | license_tier: "{{ res_config.license_tier | default(omit) }}"
20 | ip6_autocfg_enabled: "{{ res_config.ip6_autocfg_enabled | default(omit) }}"
21 | enable_vip_static_routes: "{{ res_config.enable_vip_static_routes | default(omit) }}"
22 | prefer_static_routes: "{{ res_config.prefer_static_routes | default(omit) }}"
23 | license_type: "{{ res_config.license_type | default(omit) }}"
24 | name: "{{ res_config.name }}"
25 | when:
26 | - (res_config.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.cloud | default([]) }}"
28 | loop_control:
29 | loop_var: res_config
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/tenantsystemconfiguration.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi TenantSystemConfiguration | Create or Update TenantSystemConfiguration
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_tenantsystemconfiguration:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | dns_virtualservice_refs: "{{ item.dns_virtualservice_refs | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (avi_role_state_mode == "present" and avi_config_state == "present")
24 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
25 | with_items: "{{ avi_role_cfg.tenantsystemconfiguration | default([]) }}"
26 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/botipreputationtypemapping_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi BotIPReputationTypeMapping | Delete BotIPReputationTypeMapping
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_botipreputationtypemapping:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | ip_reputation_mappings: "{{ item.ip_reputation_mappings | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | uuid: "{{ item.uuid | default(omit) }}"
21 | when:
22 | - (item.name | length > 0)
23 | - (not (item.system_default | default(false)))
24 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.botipreputationtypemapping | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/cluster.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi Cluster | Create or Update Cluster
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_cluster:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | name: "{{ item.name | default(omit) }}"
18 | nodes: "{{ item.nodes | default(omit) }}"
19 | rejoin_nodes_automatically: "{{ item.rejoin_nodes_automatically | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | virtual_ip: "{{ item.virtual_ip | default(omit) }}"
23 | virtual_ip6: "{{ item.virtual_ip6 | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.cluster | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/role.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi Role | Create or Update Role
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_role:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | allow_unlabelled_access: "{{ item.allow_unlabelled_access | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | filters: "{{ item.filters | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | privileges: "{{ item.privileges | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.role | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/snmptrapprofile_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi SnmpTrapProfile | Delete SnmpTrapProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_snmptrapprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | trap_servers: "{{ item.trap_servers | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (item.name | length > 0)
24 | - (not (item.system_default | default(false)))
25 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.snmptrapprofile | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/botconfigconsolidator_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi BotConfigConsolidator | Delete BotConfigConsolidator
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_botconfigconsolidator:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | description: "{{ item.description | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | script: "{{ item.script | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (item.name | length > 0)
24 | - (not (item.system_default | default(false)))
25 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.botconfigconsolidator | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/licensestatus_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi LicenseStatus | Delete LicenseStatus
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_licensestatus:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | saas_status: "{{ item.saas_status | default(omit) }}"
19 | service_update: "{{ item.service_update | default(omit) }}"
20 | tenant_uuid: "{{ item.tenant_uuid | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (item.name | length > 0)
24 | - (not (item.system_default | default(false)))
25 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.licensestatus | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/cloudproperties_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi CloudProperties | Delete CloudProperties
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_cloudproperties:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | cc_props: "{{ item.cc_props | default(omit) }}"
18 | cc_vtypes: "{{ item.cc_vtypes | default(omit) }}"
19 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
20 | hyp_props: "{{ item.hyp_props | default(omit) }}"
21 | info: "{{ item.info | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (not (item.system_default | default(false)))
25 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.cloudproperties | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/hardwaresecuritymodulegroup.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi HardwareSecurityModuleGroup | Create or Update HardwareSecurityModuleGroup
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_hardwaresecuritymodulegroup:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | hsm: "{{ item.hsm | default(omit) }}"
19 | markers: "{{ item.markers | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (avi_role_state_mode == "present" and avi_config_state == "present")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.hardwaresecuritymodulegroup | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/clusterclouddetails_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ClusterCloudDetails | Delete ClusterCloudDetails
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_clusterclouddetails:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | azure_info: "{{ item.azure_info | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (item.name | length > 0)
24 | - (not (item.system_default | default(false)))
25 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.clusterclouddetails | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/errorpagebody.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ErrorPageBody | Create or Update ErrorPageBody
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_errorpagebody:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | error_page_body: "{{ item.error_page_body | default(omit) }}"
19 | format: "{{ item.format | default(omit) }}"
20 | markers: "{{ item.markers | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.errorpagebody | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/seproperties_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi SeProperties | Delete SeProperties
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_seproperties:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | se_agent_properties: "{{ item.se_agent_properties | default(omit) }}"
19 | se_bootup_properties: "{{ item.se_bootup_properties | default(omit) }}"
20 | se_runtime_properties: "{{ item.se_runtime_properties | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (not (item.system_default | default(false)))
24 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.seproperties | default([]) }}"
27 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/protocolparser.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ProtocolParser | Create or Update ProtocolParser
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_protocolparser:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | description: "{{ item.description | default(omit) }}"
19 | markers: "{{ item.markers | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | parser_code: "{{ item.parser_code | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.protocolparser | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/alertemailconfig.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi AlertEmailConfig | Create or Update AlertEmailConfig
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_alertemailconfig:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | cc_emails: "{{ item.cc_emails | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | to_emails: "{{ item.to_emails | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.alertemailconfig | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/controllerportalregistration_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ControllerPortalRegistration | Delete ControllerPortalRegistration
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_controllerportalregistration:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | asset: "{{ item.asset | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | portal_auth: "{{ item.portal_auth | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (item.name | length > 0)
24 | - (not (item.system_default | default(false)))
25 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.controllerportalregistration | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/controllersite_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ControllerSite | Delete ControllerSite
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_controllersite:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | address: "{{ item.address | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | port: "{{ item.port | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (item.name | length > 0)
25 | - (not (item.system_default | default(false)))
26 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.controllersite | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/systemlimits_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi SystemLimits | Delete SystemLimits
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_systemlimits:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | controller_limits: "{{ item.controller_limits | default(omit) }}"
19 | controller_sizes: "{{ item.controller_sizes | default(omit) }}"
20 | serviceengine_limits: "{{ item.serviceengine_limits | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (item.name | length > 0)
24 | - (not (item.system_default | default(false)))
25 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.systemlimits | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/avicontroller_csp/defaults/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # defaults file for avinetworks.avicontroller-csp
3 |
4 | # parameters for the CSP deployment
5 | con_skip_requirements: false
6 | con_csp_user: ~
7 | con_csp_password: ~
8 | con_csp_qcow_image_file: controller.qcow
9 | con_csp_qcow_image_name: "{{ con_csp_qcow_image_file|basename }}"
10 | con_csp_mgmt_ip: ~
11 | con_csp_mgmt_mask: ~
12 | con_csp_default_gw: ~
13 | con_csp_disk_size: ~
14 | con_csp_disk_type: virtio
15 | con_csp_service_name: avi-controller
16 | con_csp_metafile_name: avi_meta_{{ con_csp_service_name }}.yml
17 | con_csp_num_cpu: ~
18 | con_csp_memory_gb: ~
19 | con_csp_memory_mb: "{{ con_csp_memory_gb|int * 1024 }}"
20 | con_csp_platform: csp-2100
21 | con_csp_compat_version: 02.02.04.00
22 | con_csp_vnics:
23 | - nic: '0'
24 | type: access
25 | tagged: 'false'
26 | network_name: enp1s0f0
27 | con_csp_meta_config: {}
28 | con_csp_meta_options:
29 | avi.mgmt-ip.CONTROLLER: "{{ con_csp_mgmt_ip | default(None) }}"
30 | avi.default-gw.CONTROLLER: "{{ con_csp_default_gw | default(None) }}"
31 | avi.mgmt-mask.CONTROLLER: "{{ con_csp_mgmt_mask | default(None) }}"
32 | avi.hsm-ip.CONTROLLER: "{{ con_csp_hsm_ip | default(None) }}"
33 | avi.hsm-mask.CONTROLLER: "{{ con_csp_hsm_mask | default(None) }}"
34 | avi.hsm-static-routes.CONTROLLER: "{{ con_csp_hsm_static_routes | default(None) }}"
35 | avi.hsm-vnic-id.CONTROLLER: "{{ con_csp_hsm_vnic_id | default(None) }}"
36 | avi.bond-ifs.CONTROLLER: "{{ con_csp_bond_ifs | default(None) }}"
37 | avi.bond-mode.CONTROLLER: "{{ con_csp_bond_mode | default(None) }}"
38 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/authmappingprofile.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi AuthMappingProfile | Create or Update AuthMappingProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_authmappingprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | description: "{{ item.description | default(omit) }}"
19 | mapping_rules: "{{ item.mapping_rules | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | type: "{{ item.type | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.authmappingprofile | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/geodb_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi GeoDB | Delete GeoDB
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_geodb:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | description: "{{ item.description | default(omit) }}"
18 | files: "{{ item.files | default(omit) }}"
19 | is_federated: "{{ item.is_federated | default(omit) }}"
20 | mappings: "{{ item.mappings | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (item.name | length > 0)
26 | - (not (item.system_default | default(false)))
27 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.geodb | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/microservicegroup.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi MicroServiceGroup | Create or Update MicroServiceGroup
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_microservicegroup:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | created_by: "{{ item.created_by | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | service_refs: "{{ item.service_refs | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.microservicegroup | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/natpolicy.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi NatPolicy | Create or Update NatPolicy
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_natpolicy:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | created_by: "{{ item.created_by | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | markers: "{{ item.markers | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | rules: "{{ item.rules | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.natpolicy | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/wafprofile.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi WafProfile | Create or Update WafProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_wafprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | config: "{{ item.config | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | files: "{{ item.files | default(omit) }}"
21 | markers: "{{ item.markers | default(omit) }}"
22 | name: "{{ item.name | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.wafprofile | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/customipamdnsprofile.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi CustomIpamDnsProfile | Create or Update CustomIpamDnsProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_customipamdnsprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | script_params: "{{ item.script_params | default(omit) }}"
20 | script_uri: "{{ item.script_uri | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (avi_role_state_mode == "present" and avi_config_state == "present")
25 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
26 | with_items: "{{ avi_role_cfg.customipamdnsprofile | default([]) }}"
27 | tags:
28 | - molecule-idempotence-notest
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/federationcheckpoint.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi FederationCheckpoint | Create or Update FederationCheckpoint
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_federationcheckpoint:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | date: "{{ item.date | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | is_federated: "{{ item.is_federated | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.federationcheckpoint | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/errorpageprofile_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ErrorPageProfile | Delete ErrorPageProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_errorpageprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | error_pages: "{{ item.error_pages | default(omit) }}"
19 | markers: "{{ item.markers | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (item.name | length > 0)
25 | - (not (item.system_default | default(false)))
26 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.errorpageprofile | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/serviceauthprofile.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ServiceAuthProfile | Create or Update ServiceAuthProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_serviceauthprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | description: "{{ item.description | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | service_oauth_profile: "{{ item.service_oauth_profile | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | type: "{{ item.type | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.serviceauthprofile | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/statediffoperation.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi StatediffOperation | Create or Update StatediffOperation
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_statediffoperation:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | events: "{{ item.events | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | node_uuid: "{{ item.node_uuid | default(omit) }}"
20 | operation: "{{ item.operation | default(omit) }}"
21 | phase: "{{ item.phase | default(omit) }}"
22 | status: "{{ item.status | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.statediffoperation | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/avicontroller/tasks/docker/services/cleanup.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Avi Controller | Docker | Cleanup | Get our desired docker image id.
3 | shell: "docker images -q {{ con_image }}"
4 | changed_when: false
5 | register: con_docker_image
6 |
7 | - name: Avi Controller | Docker | Cleanup | Get list of running avicontroller containers
8 | shell: "docker ps -q -f name=avicontroller"
9 | changed_when: false
10 | register: con_running_con_containers
11 |
12 | - name: Avi Controller | Docker | Cleanup | Check if desired version is already running.
13 | shell: "docker ps -q -f ancestor={{ con_docker_image.stdout }}"
14 | changed_when: false
15 | register: con_desired_running
16 |
17 | - name: Avi Controller | Docker | Cleanup | Stop and Remove the container if it's not the desired version.
18 | shell: "docker stop {{ item }} && docker rm -f {{ item }}"
19 | notify: Avi Controller | Services | Restart the avicontroller service
20 | when:
21 | - item not in con_desired_running.stdout_lines
22 | with_items:
23 | - "{{ con_running_con_containers.stdout_lines }}"
24 |
25 | - name: Avi Controller | Docker | Cleanup | Get list of non-matched controller images.
26 | shell: "docker images | grep -v REPOSITORY | grep -v {{ con_version }} | grep avinetworks/controller | awk '{print $3}'"
27 | changed_when: false
28 | register: con_non_matched_images
29 |
30 | - name: Avi Controller | Docker | Cleanup | Remove non-matched controller images.
31 | shell: "docker rmi -f {{ con_non_matched_images.stdout_lines|join(' ') }}"
32 | changed_when: false
33 | when: con_non_matched_images.stdout
34 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/alertsyslogconfig.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi AlertSyslogConfig | Create or Update AlertSyslogConfig
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_alertsyslogconfig:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | description: "{{ item.description | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | sender_hostname: "{{ item.sender_hostname | default(omit) }}"
21 | syslog_servers: "{{ item.syslog_servers | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.alertsyslogconfig | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/availabilityzone_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi AvailabilityZone | Delete AvailabilityZone
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_availabilityzone:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | cloud_ref: "{{ item.cloud_ref | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | vcenter_refs: "{{ item.vcenter_refs | default(omit) }}"
23 | when:
24 | - (item.name | length > 0)
25 | - (not (item.system_default | default(false)))
26 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.availabilityzone | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/testsedatastorelevel1_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi TestSeDatastoreLevel1 | Delete TestSeDatastoreLevel1
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_testsedatastorelevel1:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | test_se_datastore_level_2_ref: "{{ item.test_se_datastore_level_2_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (item.name | length > 0)
24 | - (not (item.system_default | default(false)))
25 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.testsedatastorelevel1 | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/alertscriptconfig_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi AlertScriptConfig | Delete AlertScriptConfig
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_alertscriptconfig:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | action_script: "{{ item.action_script | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | timeout: "{{ item.timeout | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (item.name | length > 0)
25 | - (not (item.system_default | default(false)))
26 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.alertscriptconfig | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/testsedatastorelevel2_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi TestSeDatastoreLevel2 | Delete TestSeDatastoreLevel2
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_testsedatastorelevel2:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
20 | test_se_datastore_level_3_refs: "{{ item.test_se_datastore_level_3_refs | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (item.name | length > 0)
24 | - (not (item.system_default | default(false)))
25 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.testsedatastorelevel2 | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/webhook.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi Webhook | Create or Update Webhook
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_webhook:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | callback_url: "{{ item.callback_url | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | markers: "{{ item.markers | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | verification_token: "{{ item.verification_token | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.webhook | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/tenantsystemconfiguration_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi TenantSystemConfiguration | Delete TenantSystemConfiguration
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_tenantsystemconfiguration:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | dns_virtualservice_refs: "{{ item.dns_virtualservice_refs | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | when:
23 | - (item.name | length > 0)
24 | - (not (item.system_default | default(false)))
25 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.tenantsystemconfiguration | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/vsgs.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi VsGs | Create or Update VsGs
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_vsgs:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | geodb_uuid: "{{ item.geodb_uuid | default(omit) }}"
19 | gs_uuid: "{{ item.gs_uuid | default(omit) }}"
20 | gslb_uuid: "{{ item.gslb_uuid | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | type: "{{ item.type | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | vs_uuid: "{{ item.vs_uuid | default(omit) }}"
26 | when:
27 | - (avi_role_state_mode == "present" and avi_config_state == "present")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.vsgs | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/backup.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi Backup | Create or Update Backup
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_backup:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | backup_config_ref: "{{ item.backup_config_ref | default(omit) }}"
18 | file_name: "{{ item.file_name | default(omit) }}"
19 | local_file_url: "{{ item.local_file_url | default(omit) }}"
20 | remote_file_url: "{{ item.remote_file_url | default(omit) }}"
21 | scheduler_ref: "{{ item.scheduler_ref | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | timestamp: "{{ item.timestamp | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.backup | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/albservicesfileupload.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ALBServicesFileUpload | Create or Update ALBServicesFileUpload
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_albservicesfileupload:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | case_id: "{{ item.case_id | default(omit) }}"
18 | error: "{{ item.error | default(omit) }}"
19 | file_path: "{{ item.file_path | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | s3_directory: "{{ item.s3_directory | default(omit) }}"
22 | status: "{{ item.status | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.albservicesfileupload | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/cluster_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi Cluster | Delete Cluster
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_cluster:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | name: "{{ item.name | default(omit) }}"
18 | nodes: "{{ item.nodes | default(omit) }}"
19 | rejoin_nodes_automatically: "{{ item.rejoin_nodes_automatically | default(omit) }}"
20 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
21 | uuid: "{{ item.uuid | default(omit) }}"
22 | virtual_ip: "{{ item.virtual_ip | default(omit) }}"
23 | virtual_ip6: "{{ item.virtual_ip6 | default(omit) }}"
24 | when:
25 | - (item.name | length > 0)
26 | - (not (item.system_default | default(false)))
27 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.cluster | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/role_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi Role | Delete Role
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_role:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | allow_unlabelled_access: "{{ item.allow_unlabelled_access | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | filters: "{{ item.filters | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | privileges: "{{ item.privileges | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (item.name | length > 0)
26 | - (not (item.system_default | default(false)))
27 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.role | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/csrfpolicy.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi CSRFPolicy | Create or Update CSRFPolicy
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_csrfpolicy:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | cookie_name: "{{ item.cookie_name | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | rules: "{{ item.rules | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | token_validity_time_min: "{{ item.token_validity_time_min | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.csrfpolicy | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/customipamdnsprofile_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi CustomIpamDnsProfile | Delete CustomIpamDnsProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_customipamdnsprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | name: "{{ item.name | default(omit) }}"
19 | script_params: "{{ item.script_params | default(omit) }}"
20 | script_uri: "{{ item.script_uri | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (item.name | length > 0)
25 | - (not (item.system_default | default(false)))
26 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.customipamdnsprofile | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/ssopolicy.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi SSOPolicy | Create or Update SSOPolicy
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_ssopolicy:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | authentication_policy: "{{ item.authentication_policy | default(omit) }}"
18 | authorization_policy: "{{ item.authorization_policy | default(omit) }}"
19 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
20 | markers: "{{ item.markers | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | type: "{{ item.type | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.ssopolicy | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/gslbgeodbprofile.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi GslbGeoDbProfile | Create or Update GslbGeoDbProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_gslbgeodbprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | description: "{{ item.description | default(omit) }}"
19 | entries: "{{ item.entries | default(omit) }}"
20 | is_federated: "{{ item.is_federated | default(omit) }}"
21 | markers: "{{ item.markers | default(omit) }}"
22 | name: "{{ item.name | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.gslbgeodbprofile | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/networkprofile.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi NetworkProfile | Create or Update NetworkProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_networkprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | connection_mirror: "{{ item.connection_mirror | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | markers: "{{ item.markers | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | profile: "{{ item.profile | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.networkprofile | default([]) }}"
29 |
--------------------------------------------------------------------------------
/docs/avi_api_version.rst:
--------------------------------------------------------------------------------
1 | .. vmware.alb.avi_api_version:
2 |
3 |
4 | **********************************************
5 | vmware.alb.avi_api_version
6 | **********************************************
7 |
8 | **Module for setup of ApiVersion Avi RESTful Object**
9 |
10 |
11 | .. contents::
12 | :local:
13 | :depth: 1
14 |
15 |
16 | Synopsis
17 | --------
18 | - This module is used to configure ApiVersion object.
19 | - More examples at (https://github.com/avinetworks/devops).
20 |
21 |
22 | Parameters
23 | ----------
24 |
25 | .. raw:: html
26 |
27 |
28 |
29 | | Parameter |
30 | Choices/Defaults |
31 | Comments |
32 |
33 |
34 |
35 |
36 |
37 | Examples
38 | --------
39 |
40 | .. code-block:: yaml
41 |
42 | - hosts: localhost
43 | connection: local
44 | collections:
45 | - vmware.alb
46 | vars:
47 | avi_credentials:
48 | username: "avi_user"
49 | password: "avi_password"
50 | controller: "192.168.138.18"
51 | api_version: "21.1.1"
52 | tasks:
53 | - name: Example to create ApiVersion object
54 | avi_api_version:
55 | avi_credentials: "{{ avi_credentials }}"
56 | state: present
57 | name: sample_api_version
58 |
59 |
60 | Authors
61 | ~~~~~~~
62 | - Gaurav Rastogi (grastogi@vmware.com)
63 | - Sandeep Bandi (sbandi@vmware.com)
64 | - Amol Shinde (samol@vmware.com)
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/hardwaresecuritymodulegroup_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi HardwareSecurityModuleGroup | Delete HardwareSecurityModuleGroup
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_hardwaresecuritymodulegroup:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | hsm: "{{ item.hsm | default(omit) }}"
19 | markers: "{{ item.markers | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | when:
24 | - (item.name | length > 0)
25 | - (not (item.system_default | default(false)))
26 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.hardwaresecuritymodulegroup | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/prioritylabels.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi PriorityLabels | Create or Update PriorityLabels
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_prioritylabels:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | cloud_ref: "{{ item.cloud_ref | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | equivalent_labels: "{{ item.equivalent_labels | default(omit) }}"
21 | markers: "{{ item.markers | default(omit) }}"
22 | name: "{{ item.name | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.prioritylabels | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/certificatemanagementprofile.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi CertificateManagementProfile | Create or Update CertificateManagementProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_certificatemanagementprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | markers: "{{ item.markers | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | run_script_ref: "{{ item.run_script_ref | default(omit) }}"
21 | script_params: "{{ item.script_params | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.certificatemanagementprofile | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/dnspolicy.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi DnsPolicy | Create or Update DnsPolicy
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_dnspolicy:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | created_by: "{{ item.created_by | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | internal: "{{ item.internal | default(omit) }}"
21 | markers: "{{ item.markers | default(omit) }}"
22 | name: "{{ item.name | default(omit) }}"
23 | rule: "{{ item.rule | default(omit) }}"
24 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
25 | uuid: "{{ item.uuid | default(omit) }}"
26 | when:
27 | - (avi_role_state_mode == "present" and avi_config_state == "present")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.dnspolicy | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/errorpagebody_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ErrorPageBody | Delete ErrorPageBody
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_errorpagebody:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | error_page_body: "{{ item.error_page_body | default(omit) }}"
19 | format: "{{ item.format | default(omit) }}"
20 | markers: "{{ item.markers | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (item.name | length > 0)
26 | - (not (item.system_default | default(false)))
27 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.errorpagebody | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/stringgroup.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi StringGroup | Create or Update StringGroup
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_stringgroup:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | description: "{{ item.description | default(omit) }}"
19 | kv: "{{ item.kv | default(omit) }}"
20 | longest_match: "{{ item.longest_match | default(omit) }}"
21 | markers: "{{ item.markers | default(omit) }}"
22 | name: "{{ item.name | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | type: "{{ item.type | default(omit) }}"
25 | uuid: "{{ item.uuid | default(omit) }}"
26 | when:
27 | - (avi_role_state_mode == "present" and avi_config_state == "present")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.stringgroup | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/inventoryfaultconfig.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi InventoryFaultConfig | Create or Update InventoryFaultConfig
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_inventoryfaultconfig:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | controller_faults: "{{ item.controller_faults | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | serviceengine_faults: "{{ item.serviceengine_faults | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | virtualservice_faults: "{{ item.virtualservice_faults | default(omit) }}"
24 | when:
25 | - (avi_role_state_mode == "present" and avi_config_state == "present")
26 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
27 | with_items: "{{ avi_role_cfg.inventoryfaultconfig | default([]) }}"
28 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/protocolparser_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ProtocolParser | Delete ProtocolParser
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_protocolparser:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | description: "{{ item.description | default(omit) }}"
19 | markers: "{{ item.markers | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | parser_code: "{{ item.parser_code | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (item.name | length > 0)
26 | - (not (item.system_default | default(false)))
27 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.protocolparser | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/vcenterserver.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi VCenterServer | Create or Update VCenterServer
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_vcenterserver:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | cloud_ref: "{{ item.cloud_ref | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | content_lib: "{{ item.content_lib | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | uuid: "{{ item.uuid | default(omit) }}"
23 | vcenter_credentials_ref: "{{ item.vcenter_credentials_ref | default(omit) }}"
24 | vcenter_url: "{{ item.vcenter_url | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.vcenterserver | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/alertemailconfig_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi AlertEmailConfig | Delete AlertEmailConfig
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_alertemailconfig:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | cc_emails: "{{ item.cc_emails | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | to_emails: "{{ item.to_emails | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (item.name | length > 0)
26 | - (not (item.system_default | default(false)))
27 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.alertemailconfig | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/authmappingprofile_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi AuthMappingProfile | Delete AuthMappingProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_authmappingprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | description: "{{ item.description | default(omit) }}"
19 | mapping_rules: "{{ item.mapping_rules | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | type: "{{ item.type | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (item.name | length > 0)
26 | - (not (item.system_default | default(false)))
27 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.authmappingprofile | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/trafficcloneprofile.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi TrafficCloneProfile | Create or Update TrafficCloneProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_trafficcloneprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | state: "{{ avi_role_state_mode }}"
12 | api_version: "{{ api_version | default(omit) }}"
13 | avi_credentials: "{{ avi_credentials | default(omit) }}"
14 | api_context: "{{ avi_api_context | default(omit) }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | clone_servers: "{{ item.clone_servers | default(omit) }}"
18 | cloud_ref: "{{ item.cloud_ref | default(omit) }}"
19 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
20 | markers: "{{ item.markers | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | preserve_client_ip: "{{ item.preserve_client_ip | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (avi_role_state_mode == "present" and avi_config_state == "present")
27 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
28 | with_items: "{{ avi_role_cfg.trafficcloneprofile | default([]) }}"
29 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/microservicegroup_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi MicroServiceGroup | Delete MicroServiceGroup
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_microservicegroup:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | created_by: "{{ item.created_by | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | name: "{{ item.name | default(omit) }}"
21 | service_refs: "{{ item.service_refs | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (item.name | length > 0)
26 | - (not (item.system_default | default(false)))
27 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.microservicegroup | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/natpolicy_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi NatPolicy | Delete NatPolicy
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_natpolicy:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | created_by: "{{ item.created_by | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | markers: "{{ item.markers | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | rules: "{{ item.rules | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (item.name | length > 0)
27 | - (not (item.system_default | default(false)))
28 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
29 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
30 | with_items: "{{ avi_role_cfg.natpolicy | default([]) }}"
31 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/wafprofile_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi WafProfile | Delete WafProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_wafprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | config: "{{ item.config | default(omit) }}"
18 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | files: "{{ item.files | default(omit) }}"
21 | markers: "{{ item.markers | default(omit) }}"
22 | name: "{{ item.name | default(omit) }}"
23 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
24 | uuid: "{{ item.uuid | default(omit) }}"
25 | when:
26 | - (item.name | length > 0)
27 | - (not (item.system_default | default(false)))
28 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
29 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
30 | with_items: "{{ avi_role_cfg.wafprofile | default([]) }}"
31 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/federationcheckpoint_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi FederationCheckpoint | Delete FederationCheckpoint
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_federationcheckpoint:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | date: "{{ item.date | default(omit) }}"
19 | description: "{{ item.description | default(omit) }}"
20 | is_federated: "{{ item.is_federated | default(omit) }}"
21 | name: "{{ item.name | default(omit) }}"
22 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (item.name | length > 0)
26 | - (not (item.system_default | default(false)))
27 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.federationcheckpoint | default([]) }}"
30 |
--------------------------------------------------------------------------------
/roles/aviconfig/tasks/serviceauthprofile_delete.yml:
--------------------------------------------------------------------------------
1 | # Automatically Generated File
2 | # Copyright 2021 VMware, Inc. All rights reserved. VMware Confidential
3 | ---
4 | - name: Avi ServiceAuthProfile | Delete ServiceAuthProfile
5 | no_log: "{{ avi_role_config_log_mode | default(False) }}"
6 | vmware.alb.avi_serviceauthprofile:
7 | controller: "{{ avi_controller | default(omit) }}"
8 | username: "{{ avi_username | default(omit) }}"
9 | password: "{{ avi_password | default(omit) }}"
10 | tenant: "{{ item.tenant | default(omit) }}"
11 | api_version: "{{ api_version | default(omit) }}"
12 | avi_credentials: "{{ avi_credentials | default(omit) }}"
13 | api_context: "{{ avi_api_context | default(omit) }}"
14 | state: "{{ avi_role_state_mode }}"
15 | avi_api_update_method: "{{ item.avi_api_update_method | default(omit) }}"
16 | avi_api_patch_op: "{{ item.avi_api_patch_op | default(omit) }}"
17 | configpb_attributes: "{{ item.configpb_attributes | default(omit) }}"
18 | description: "{{ item.description | default(omit) }}"
19 | name: "{{ item.name | default(omit) }}"
20 | service_oauth_profile: "{{ item.service_oauth_profile | default(omit) }}"
21 | tenant_ref: "{{ item.tenant_ref | default(omit) }}"
22 | type: "{{ item.type | default(omit) }}"
23 | uuid: "{{ item.uuid | default(omit) }}"
24 | when:
25 | - (item.name | length > 0)
26 | - (not (item.system_default | default(false)))
27 | - (avi_config_state == "absent" or avi_role_state_mode == "absent")
28 | - (item.state | default("present") == avi_role_state_mode or avi_config_state == "absent")
29 | with_items: "{{ avi_role_cfg.serviceauthprofile | default([]) }}"
30 |
--------------------------------------------------------------------------------