community.network.avi_ipamdnsproviderprofile – Module for setup of IpamDnsProviderProfile Avi RESTful Object
Note
This plugin is part of the community.network collection (version 1.3.0).
To install it use: ansible-galaxy collection install community.network.
To use it in a playbook, specify: community.network.avi_ipamdnsproviderprofile.
Synopsis
- This module is used to configure IpamDnsProviderProfile object
 - more examples at https://github.com/avinetworks/devops
 
Requirements
The below requirements are needed on the host that executes this module.
- avisdk
 
Parameters
| Parameter | Choices/Defaults | Comments | |
|---|---|---|---|
|   allocate_ip_in_vrf    boolean    |   
  |    If this flag is set, only allocate ip from networks in the virtual service vrf.  Applicable for avi vantage ipam only.  Field introduced in 17.2.4.  Default value when not specified in API or module is interpreted by Avi Controller as False.   |  |
|   api_context    dictionary    |    Avi API context that includes current session ID and CSRF Token.  This allows user to perform single login and re-use the session.   |  ||
|   api_version    string    |   Default: "16.4.4"   |    Avi API version of to use for Avi API and objects.   |  |
|   avi_api_patch_op    string    |   
  |    Patch operation to use when using avi_api_update_method as patch.   |  |
|   avi_api_update_method    string    |   
  |    Default method for object update is HTTP PUT.  Setting to patch will override that behavior to use HTTP PATCH.   |  |
|   avi_credentials    dictionary    |    Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details.   |  ||
|   api_version    string    |   Default: "16.4.4"   |    Avi controller version   |  |
|   controller    string    |    Avi controller IP or SQDN   |  ||
|   csrftoken    string    |    Avi controller API csrftoken to reuse existing session with session id   |  ||
|   password    string    |    Avi controller password   |  ||
|   port    string    |    Avi controller port   |  ||
|   session_id    string    |    Avi controller API session id to reuse existing session with csrftoken   |  ||
|   tenant    string    |   Default: "admin"   |    Avi controller tenant   |  |
|   tenant_uuid    string    |    Avi controller tenant UUID   |  ||
|   timeout    string    |   Default: 300   |    Avi controller request timeout   |  |
|   token    string    |    Avi controller API token   |  ||
|   username    string    |    Avi controller username   |  ||
|   avi_disable_session_cache_as_fact    boolean    |   
  |    It disables avi session information to be cached as a fact.   |  |
|   aws_profile    string    |    Provider details if type is aws.   |  ||
|   azure_profile    string    |    Provider details if type is microsoft azure.  Field introduced in 17.2.1.   |  ||
|   controller    string    |   Default: ""   |    IP address or hostname of the controller. The default value is the environment variable   AVI_CONTROLLER. |  |
|   custom_profile    string    |    Provider details if type is custom.  Field introduced in 17.1.1.   |  ||
|   gcp_profile    string    |    Provider details if type is google cloud.   |  ||
|   infoblox_profile    string    |    Provider details if type is infoblox.   |  ||
|   internal_profile    string    |    Provider details if type is avi.   |  ||
|   name    string / required    |    Name for the ipam/dns provider profile.   |  ||
|   oci_profile    string    |    Provider details for oracle cloud.  Field introduced in 18.2.1,18.1.3.   |  ||
|   openstack_profile    string    |    Provider details if type is openstack.   |  ||
|   password    string    |   Default: ""   |    Password of Avi user in Avi controller. The default value is the environment variable   AVI_PASSWORD. |  |
|   proxy_configuration    string    |    Field introduced in 17.1.1.   |  ||
|   state    string    |   
  |    The state that should be applied on the entity.   |  |
|   tenant    string    |   Default: "admin"   |    Name of tenant used for all Avi API calls and context of object.   |  |
|   tenant_ref    string    |    It is a reference to an object of type tenant.   |  ||
|   tenant_uuid    string    |   Default: ""   |    UUID of tenant used for all Avi API calls and context of object.   |  |
|   tencent_profile    string    |    Provider details for tencent cloud.  Field introduced in 18.2.3.   |  ||
|   type    string / required    |    Provider type for the ipam/dns provider profile.  Enum options - IPAMDNS_TYPE_INFOBLOX, IPAMDNS_TYPE_AWS, IPAMDNS_TYPE_OPENSTACK, IPAMDNS_TYPE_GCP, IPAMDNS_TYPE_INFOBLOX_DNS, IPAMDNS_TYPE_CUSTOM,  IPAMDNS_TYPE_CUSTOM_DNS, IPAMDNS_TYPE_AZURE, IPAMDNS_TYPE_OCI, IPAMDNS_TYPE_TENCENT, IPAMDNS_TYPE_INTERNAL, IPAMDNS_TYPE_INTERNAL_DNS,  IPAMDNS_TYPE_AWS_DNS, IPAMDNS_TYPE_AZURE_DNS.   |  ||
|   url    string    |    Avi controller URL of the object.   |  ||
|   username    string    |   Default: ""   |    Username used for accessing Avi controller. The default value is the environment variable   AVI_USERNAME. |  |
|   uuid    string    |    Uuid of the ipam/dns provider profile.   |  ||
Notes
Note
- For more information on using Ansible to manage Avi Network devices see https://www.ansible.com/ansible-avi-networks.
 
Examples
- name: Create IPAM DNS provider setting
  community.network.avi_ipamdnsproviderprofile:
    controller: '{{ controller }}'
    username: '{{ username }}'
    password: '{{ password }}'
    internal_profile:
      dns_service_domain:
      - domain_name: ashish.local
        num_dns_ip: 1
        pass_through: true
        record_ttl: 100
      - domain_name: guru.local
        num_dns_ip: 1
        pass_through: true
        record_ttl: 200
      ttl: 300
    name: Ashish-DNS
    tenant_ref: Demo
    type: IPAMDNS_TYPE_INTERNAL
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
|   obj    dictionary    |  success, changed |   IpamDnsProviderProfile (api/ipamdnsproviderprofile) object   |  
Authors
- Gaurav Rastogi (@grastogi23) <grastogi@avinetworks.com>
 
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/community/network/avi_ipamdnsproviderprofile_module.html