# avi_cloud – Module for setup of Cloud Avi RESTful Object

New in version 2.4.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- This module is used to configure Cloud 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
--- | --- | ---
api_context dictionary added in 2.5 |  | 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.
apic_configuration - |  | Apicconfiguration settings for cloud.

apic_mode
boolean

Choices:
- no
- yes

Boolean flag to set apic_mode.
Default value when not specified in API or module is interpreted by Avi Controller as False.

autoscale_polling_interval - added in 2.9 |  | Cloudconnector polling interval for external autoscale groups. Field introduced in 18.2.2. Default value when not specified in API or module is interpreted by Avi Controller as 60.

avi_api_patch_op
-
added in 2.5

Choices:
- add
- replace
- delete

Patch operation to use when using avi_api_update_method as patch.

avi_api_update_method
-
added in 2.5

Choices:
- put ←
- patch

Default method for object update is HTTP PUT.
Setting to patch will override that behavior to use HTTP PATCH.

avi_credentials dictionary added in 2.5 |  | Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details.
| api_version - | Default: "16.4.4" | Avi controller version
| controller - |  | Avi controller IP or SQDN
| csrftoken - |  | Avi controller API csrftoken to reuse existing session with session id
| password - |  | Avi controller password
| port - |  | Avi controller port
| session_id - |  | Avi controller API session id to reuse existing session with csrftoken
| tenant - | Default: "admin" | Avi controller tenant
| tenant_uuid - |  | Avi controller tenant UUID
| timeout - | Default: 300 | Avi controller request timeout
| token - |  | Avi controller API token
| username - |  | Avi controller username

avi_disable_session_cache_as_fact
boolean
added in 2.6

Choices:
- no
- yes

It disables avi session information to be cached as a fact.

aws_configuration - |  | Awsconfiguration settings for cloud.
azure_configuration - added in 2.5 |  | Field introduced in 17.2.1.
cloudstack_configuration - |  | Cloudstackconfiguration settings for cloud.
controller string | Default: "" | IP address or hostname of the controller. The default value is the environment variable `AVI_CONTROLLER`.
custom_tags - added in 2.5 |  | Custom tags for all avi created resources in the cloud infrastructure. Field introduced in 17.1.5.

dhcp_enabled
boolean

Choices:
- no
- yes

Select the ip address management scheme.
Default value when not specified in API or module is interpreted by Avi Controller as False.

dns_provider_ref - |  | Dns profile for the cloud. It is a reference to an object of type ipamdnsproviderprofile.
docker_configuration - |  | Dockerconfiguration settings for cloud.
east_west_dns_provider_ref - |  | Dns profile for east-west services. It is a reference to an object of type ipamdnsproviderprofile.

east_west_ipam_provider_ref
-

Ipam profile for east-west services.
Warning - please use virtual subnets in this ipam profile that do not conflict with the underlay networks or any overlay networks in the cluster.
For example in aws and gcp, 169.254.0.0/16 is used for storing instance metadata.
Hence, it should not be used in this profile.
It is a reference to an object of type ipamdnsproviderprofile.

enable_vip_static_routes
boolean

Choices:
- no
- yes

Use static routes for vip side network resolution during virtualservice placement.
Default value when not specified in API or module is interpreted by Avi Controller as False.

gcp_configuration - added in 2.9 |  | Google cloud platform configuration. Field introduced in 18.2.1.

ip6_autocfg_enabled
boolean
added in 2.9

Choices:
- no
- yes

Enable ipv6 auto configuration.
Field introduced in 18.1.1.
Default value when not specified in API or module is interpreted by Avi Controller as False.

ipam_provider_ref - |  | Ipam profile for the cloud. It is a reference to an object of type ipamdnsproviderprofile.
license_tier - added in 2.5 |  | Specifies the default license tier which would be used by new se groups. This field by default inherits the value from system configuration. Enum options - ENTERPRISE_16, ENTERPRISE_18. Field introduced in 17.2.5.
license_type - |  | If no license type is specified then default license enforcement for the cloud type is chosen. The default mappings are container cloud is max ses, openstack and vmware is cores and linux it is sockets. Enum options - LIC_BACKEND_SERVERS, LIC_SOCKETS, LIC_CORES, LIC_HOSTS, LIC_SE_BANDWIDTH, LIC_METERED_SE_BANDWIDTH.
linuxserver_configuration - |  | Linuxserverconfiguration settings for cloud.
mesos_configuration - |  | Field deprecated in 18.2.2.
mtu - |  | Mtu setting for the cloud. Default value when not specified in API or module is interpreted by Avi Controller as 1500.
name - / required |  | Name of the object.
nsx_configuration - |  | Configuration parameters for nsx manager. Field introduced in 17.1.1.
obj_name_prefix - |  | Default prefix for all automatically created objects in this cloud. This prefix can be overridden by the se-group template.
openstack_configuration - |  | Openstackconfiguration settings for cloud.
oshiftk8s_configuration - |  | Oshiftk8sconfiguration settings for cloud.
password string | Default: "" | Password of Avi user in Avi controller. The default value is the environment variable `AVI_PASSWORD`.

prefer_static_routes
boolean

Choices:
- no
- yes

Prefer static routes over interface routes during virtualservice placement.
Default value when not specified in API or module is interpreted by Avi Controller as False.

proxy_configuration - |  | Proxyconfiguration settings for cloud.
rancher_configuration - |  | Rancherconfiguration settings for cloud.

state
-

Choices:
- absent
- present ←

The state that should be applied on the entity.

state_based_dns_registration
boolean
added in 2.5

Choices:
- no
- yes

Dns records for vips are added/deleted based on the operational state of the vips.
Field introduced in 17.1.12.
Default value when not specified in API or module is interpreted by Avi Controller as True.

tenant string | Default: "admin" | Name of tenant used for all Avi API calls and context of object.
tenant_ref - |  | 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.
url - |  | 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 - |  | Unique object identifier of the object.
vca_configuration - |  | Vcloudairconfiguration settings for cloud.
vcenter_configuration - |  | Vcenterconfiguration settings for cloud.
vtype - / required |  | Cloud type. Enum options - CLOUD_NONE, CLOUD_VCENTER, CLOUD_OPENSTACK, CLOUD_AWS, CLOUD_VCA, CLOUD_APIC, CLOUD_MESOS, CLOUD_LINUXSERVER, CLOUD_DOCKER_UCP, CLOUD_RANCHER, CLOUD_OSHIFT_K8S, CLOUD_AZURE, CLOUD_GCP. Default value when not specified in API or module is interpreted by Avi Controller as CLOUD_NONE.

## Notes

Note

- For more information on using Ansible to manage Avi Network devices see https://www.ansible.com/ansible-avi-networks.

## Examples

    - name: Create a VMware cloud with write access mode
      avi_cloud:
        username: '{{ username }}'
        controller: '{{ controller }}'
        password: '{{ password }}'
        apic_mode: false
        dhcp_enabled: true
        enable_vip_static_routes: false
        license_type: LIC_CORES
        mtu: 1500
        name: vCenter Cloud
        prefer_static_routes: false
        tenant_ref: admin
        vcenter_configuration:
          datacenter_ref: /api/vimgrdcruntime/datacenter-2-10.10.20.100
          management_network: /api/vimgrnwruntime/dvportgroup-103-10.10.20.100
          password: password
          privilege: WRITE_ACCESS
          username: user
          vcenter_url: 10.10.20.100
        vtype: CLOUD_VCENTER

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
obj dictionary | success, changed | Cloud (api/cloud) object

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Gaurav Rastogi (@grastogi23) <grastogi@avinetworks.com>

Hint

If you notice any issues in this documentation, you can edit this document to improve it.