├── 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 | 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 | 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 | 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 | 30 | 31 | 32 | 33 |
ParameterChoices/DefaultsComments
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 | --------------------------------------------------------------------------------