/ansible-collection-alb

VMware Advanced Load Balancer (formerly Avi) Ansible Collection

Primary LanguagePythonOtherNOASSERTION

Advanced Load Balancer (formerly Avi) Ansible Collection

Apache licensed Collection CI

Ansible version compatibility

This collection has been tested against following Ansible versions: >=2.9.10.

Python Support

  • Collection supports >= 3.5

Installation and Usage

Ansible must be installed

pip install ansible

Install ALB collection using ansible-galaxy CLI:

ansible-galaxy collection install vmware.alb

Install ALB collection using requirements.yml file:

Create requirements.yml file using below contents

collections:
- name: vmware.alb

Install the collection:

ansible-galaxy collection install -r requirements.yml

Required Python libraries

ALB collection depends upon following third party libraries:

How to install ovftool

cd /home/user/downloads
chmod 755 VMware-ovftool-4.4.0-15722219-lin.x86_64.bundle
sudo ./VMware-ovftool-4.4.0-15722219-lin.x86_64.bundle

Installing required libraries

After ALB collection installation we need to install the required python libraries using following command:

pip install -r ~/.ansible/collections/ansible_collections/vmware/alb/requirements.txt

Modules

Name Description
vmware.alb.avi_actiongroupconfig Module to create update or delete ActionGroupConfig
vmware.alb.avi_albservicesconfig Module to create update or delete ALBServicesConfig
vmware.alb.avi_albservicesfileupload Module to create update or delete ALBServicesFileUpload
vmware.alb.avi_albservicesjob Module to create update or delete ALBServicesJob
vmware.alb.avi_alertconfig Module to create update or delete AlertConfig
vmware.alb.avi_alertemailconfig Module to create update or delete AlertEmailConfig
vmware.alb.avi_alertscriptconfig Module to create update or delete AlertScriptConfig
vmware.alb.avi_alertsyslogconfig Module to create update or delete AlertSyslogConfig
vmware.alb.avi_analyticsprofile Module to create update or delete AnalyticsProfile
vmware.alb.avi_api_fileservice Module to create update or delete ApiFileservice
vmware.alb.avi_api_image Module to create update or delete ApiImage
vmware.alb.avi_api_session Module to create update or delete ApiSession
vmware.alb.avi_api_version Module to create update or delete ApiVersion
vmware.alb.avi_applicationpersistenceprofile Module to create update or delete ApplicationPersistenceProfile
vmware.alb.avi_applicationprofile Module to create update or delete ApplicationProfile
vmware.alb.avi_authmappingprofile Module to create update or delete AuthMappingProfile
vmware.alb.avi_authprofile Module to create update or delete AuthProfile
vmware.alb.avi_autoscalelaunchconfig Module to create update or delete AutoScaleLaunchConfig
vmware.alb.avi_availabilityzone Module to create update or delete AvailabilityZone
vmware.alb.avi_backup Module to create update or delete Backup
vmware.alb.avi_backupconfiguration Module to create update or delete BackupConfiguration
vmware.alb.avi_bootstrap_controller Module to create update or delete BootstrapController
vmware.alb.avi_botconfigconsolidator Module to create update or delete BotConfigConsolidator
vmware.alb.avi_botdetectionpolicy Module to create update or delete BotDetectionPolicy
vmware.alb.avi_botipreputationtypemapping Module to create update or delete BotIPReputationTypeMapping
vmware.alb.avi_botmapping Module to create update or delete BotMapping
vmware.alb.avi_certificatemanagementprofile Module to create update or delete CertificateManagementProfile
vmware.alb.avi_cloud Module to create update or delete Cloud
vmware.alb.avi_cloudconnectoruser Module to create update or delete CloudConnectorUser
vmware.alb.avi_cloudproperties Module to create update or delete CloudProperties
vmware.alb.avi_cluster Module to create update or delete Cluster
vmware.alb.avi_clusterclouddetails Module to create update or delete ClusterCloudDetails
vmware.alb.avi_controllerportalregistration Module to create update or delete ControllerPortalRegistration
vmware.alb.avi_controllerproperties Module to create update or delete ControllerProperties
vmware.alb.avi_controllersite Module to create update or delete ControllerSite
vmware.alb.avi_csrfpolicy Module to create update or delete CSRFPolicy
vmware.alb.avi_customipamdnsprofile Module to create update or delete CustomIpamDnsProfile
vmware.alb.avi_deploy_controller Module to create update or delete DeployController
vmware.alb.avi_dnspolicy Module to create update or delete DnsPolicy
vmware.alb.avi_dynamicdnsrecord Module to create update or delete DynamicDnsRecord
vmware.alb.avi_errorpagebody Module to create update or delete ErrorPageBody
vmware.alb.avi_errorpageprofile Module to create update or delete ErrorPageProfile
vmware.alb.avi_federationcheckpoint Module to create update or delete FederationCheckpoint
vmware.alb.avi_fileobject Module to create update or delete FileObject
vmware.alb.avi_geodb Module to create update or delete GeoDB
vmware.alb.avi_gslb Module to create update or delete Gslb
vmware.alb.avi_gslbgeodbprofile Module to create update or delete GslbGeoDbProfile
vmware.alb.avi_gslbservice Module to create update or delete GslbService
vmware.alb.avi_gslbservice_patch_member Module to create update or delete GslbservicePatchMember
vmware.alb.avi_hardwaresecuritymodulegroup Module to create update or delete HardwareSecurityModuleGroup
vmware.alb.avi_healthmonitor Module to create update or delete HealthMonitor
vmware.alb.avi_httppolicyset Module to create update or delete HTTPPolicySet
vmware.alb.avi_icapprofile Module to create update or delete IcapProfile
vmware.alb.avi_image Module to create update or delete Image
vmware.alb.avi_inventoryfaultconfig Module to create update or delete InventoryFaultConfig
vmware.alb.avi_ipaddrgroup Module to create update or delete IpAddrGroup
vmware.alb.avi_ipamdnsproviderprofile Module to create update or delete IpamDnsProviderProfile
vmware.alb.avi_ipreputationdb Module to create update or delete IPReputationDB
vmware.alb.avi_jwtserverprofile Module to create update or delete JWTServerProfile
vmware.alb.avi_l4policyset Module to create update or delete L4PolicySet
vmware.alb.avi_labelgroup Module to create update or delete LabelGroup
vmware.alb.avi_licenseledgerdetails Module to create update or delete LicenseLedgerDetails
vmware.alb.avi_licensestatus Module to create update or delete LicenseStatus
vmware.alb.avi_memorybalancerrequest Module to create update or delete MemoryBalancerRequest
vmware.alb.avi_microservicegroup Module to create update or delete MicroServiceGroup
vmware.alb.avi_natpolicy Module to create update or delete NatPolicy
vmware.alb.avi_network Module to create update or delete Network
vmware.alb.avi_networkprofile Module to create update or delete NetworkProfile
vmware.alb.avi_networksecuritypolicy Module to create update or delete NetworkSecurityPolicy
vmware.alb.avi_networkservice Module to create update or delete NetworkService
vmware.alb.avi_nsxtsegmentruntime Module to create update or delete NsxtSegmentRuntime
vmware.alb.avi_pingaccessagent Module to create update or delete PingAccessAgent
vmware.alb.avi_pkiprofile Module to create update or delete PKIProfile
vmware.alb.avi_pool Module to create update or delete Pool
vmware.alb.avi_poolgroup Module to create update or delete PoolGroup
vmware.alb.avi_poolgroupdeploymentpolicy Module to create update or delete PoolGroupDeploymentPolicy
vmware.alb.avi_prioritylabels Module to create update or delete PriorityLabels
vmware.alb.avi_protocolparser Module to create update or delete ProtocolParser
vmware.alb.avi_pulse_registration Module to create update or delete PulseRegistration
vmware.alb.avi_role Module to create update or delete Role
vmware.alb.avi_saml_api_session Module to create update or delete SamlApiSession
vmware.alb.avi_scheduler Module to create update or delete Scheduler
vmware.alb.avi_securitymanagerdata Module to create update or delete SecurityManagerData
vmware.alb.avi_securitypolicy Module to create update or delete SecurityPolicy
vmware.alb.avi_seproperties Module to create update or delete SeProperties
vmware.alb.avi_serverautoscalepolicy Module to create update or delete ServerAutoScalePolicy
vmware.alb.avi_serviceauthprofile Module to create update or delete ServiceAuthProfile
vmware.alb.avi_serviceengine Module to create update or delete ServiceEngine
vmware.alb.avi_serviceenginegroup Module to create update or delete Serviceenginegroup
vmware.alb.avi_serviceenginegroup Module to create update or delete ServiceEngineGroup
vmware.alb.avi_serviceenginegroup_advanced Module to create update or delete ServiceenginegroupAdvanced
vmware.alb.avi_siteversion Module to create update or delete SiteVersion
vmware.alb.avi_snmptrapprofile Module to create update or delete SnmpTrapProfile
vmware.alb.avi_sslkeyandcertificate Module to create update or delete SSLKeyAndCertificate
vmware.alb.avi_sslprofile Module to create update or delete SSLProfile
vmware.alb.avi_ssopolicy Module to create update or delete SSOPolicy
vmware.alb.avi_statediffoperation Module to create update or delete StatediffOperation
vmware.alb.avi_statediffsnapshot Module to create update or delete StatediffSnapshot
vmware.alb.avi_stringgroup Module to create update or delete StringGroup
vmware.alb.avi_systemconfiguration Module to create update or delete SystemConfiguration
vmware.alb.avi_systemlimits Module to create update or delete SystemLimits
vmware.alb.avi_tenant Module to create update or delete Tenant
vmware.alb.avi_tenantsystemconfiguration Module to create update or delete TenantSystemConfiguration
vmware.alb.avi_testsedatastorelevel1 Module to create update or delete TestSeDatastoreLevel1
vmware.alb.avi_testsedatastorelevel2 Module to create update or delete TestSeDatastoreLevel2
vmware.alb.avi_testsedatastorelevel3 Module to create update or delete TestSeDatastoreLevel3
vmware.alb.avi_trafficcloneprofile Module to create update or delete TrafficCloneProfile
vmware.alb.avi_update_se_data_vnics Module to create update or delete UpdateSeDataVnics
vmware.alb.avi_upgradestatusinfo Module to create update or delete UpgradeStatusInfo
vmware.alb.avi_upgradestatussummary Module to create update or delete UpgradeStatusSummary
vmware.alb.avi_user Module to create update or delete User
vmware.alb.avi_useraccount Module to create update or delete Useraccount
vmware.alb.avi_useraccountprofile Module to create update or delete UserAccountProfile
vmware.alb.avi_vcenterserver Module to create update or delete VCenterServer
vmware.alb.avi_virtualservice Module to create update or delete VirtualService
vmware.alb.avi_vrfcontext Module to create update or delete VrfContext
vmware.alb.avi_vsdatascriptset Module to create update or delete VSDataScriptSet
vmware.alb.avi_vsgs Module to create update or delete VsGs
vmware.alb.avi_vsvip Module to create update or delete VsVip
vmware.alb.avi_wafapplicationsignatureprovider Module to create update or delete WafApplicationSignatureProvider
vmware.alb.avi_wafpolicy Module to create update or delete WafPolicy
vmware.alb.avi_wafpolicypsmgroup Module to create update or delete WafPolicyPSMGroup
vmware.alb.avi_wafprofile Module to create update or delete WafProfile
vmware.alb.avi_webapput Module to create update or delete WebappUT
vmware.alb.avi_webhook Module to create update or delete Webhook

Testing with ansible-test

Refer testing for more information.

Publishing New Version

Examples

- hosts: localhost
  connection: local
  collections:
    - vmware.alb
  tasks:
    - name: Example to create a Pool object
      avi_pool:
        avi_credentials:
          username: "admin"
          password: "something"
          controller: "192.168.15.18"
          api_version: "21.1.1"
        name: app1-pool
        lb_algorithm: LB_ALGORITHM_LEAST_LOAD
        servers:
        - ip:
             addr: "192.168.12.15"
             type: 'V4'

Example usage of external credentials/variable file while using alb module

# creds.yml
avi_credentials:
    controller: "192.168.1.11"
    username: "admin"
    password: "password"
    api_version: 20.1.5
# example.yml
- hosts: localhost
  connection: local
  collections:
    - vmware.alb
  vars_files:
    - creds.yml
  tasks:
    - name: Example to create a Pool object
      avi_pool:
        avi_credentials: "{{ avi_credentials |  default(omit) }}"
        name: app1-pool
        lb_algorithm: LB_ALGORITHM_LEAST_LOAD
        servers:
        - ip:
             addr: "192.168.12.15"
             type: 'V4'

Example for using aviconfig role:

# config.yml
avi_config:
  pool:
    - name: role1-pool
      lb_algorithm: LB_ALGORITHM_LEAST_LOAD
      servers:
        - ip:
             addr: 192.160.1.10
             type: 'V4'
# collection.yml
- hosts: localhost
  connection: local
  collections:
    - vmware.alb
  tasks:
    - name: Create pool using aviconfig role
      import_role:
        name: aviconfig
      vars:
          avi_config_file: "config.yml"
          avi_creds_file: "creds.yml"
          # avi_creds_file parameter is only valid for aviconfig role.
          # For importing credentials from external file in modules,
          # please use vars_files parameter as shown in previous example

Notes Please use Python >= 3.8 if you are using avi_serviceenginegroup module as it has more than 255 arguments