text: #!/usr/bin/python
  #
  # Created on Aug 25, 2016
  # @author: Gaurav Rastogi (grastogi@avinetworks.com)
  #          Eric Anderson (eanderson@avinetworks.com)
  # module_check: supported
  # Avi Version: 17.1.1
  #
  #
  # This file is part of Ansible
  #
  # Ansible is free software: you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
  # the Free Software Foundation, either version 3 of the License, or
  # (at your option) any later version.
  #
  # Ansible is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU General Public License for more details.
  #
  # You should have received a copy of the GNU General Public License
  # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
  #
  
  ANSIBLE_METADATA = {'metadata_version': '1.1',
                      'status': ['preview'],
                      'supported_by': 'community'}
  
  DOCUMENTATION = '''
  ---
  module: avi_cloudproperties
  author: Gaurav Rastogi (grastogi@avinetworks.com)
  
  short_description: Module for setup of CloudProperties Avi RESTful Object
  description:
      - This module is used to configure CloudProperties object
      - more examples at U(https://github.com/avinetworks/devops)
  requirements: [ avisdk ]
  version_added: "2.4"
  options:
      state:
          description:
              - The state that should be applied on the entity.
          default: present
          choices: ["absent","present"]
      cc_props:
          description:
              - Cloudconnector properties.
      cc_vtypes:
          description:
              - Cloud types supported by cloudconnector.
              - 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.
      hyp_props:
          description:
              - Hypervisor properties.
      info:
          description:
              - Properties specific to a cloud type.
      url:
          description:
              - Avi controller URL of the object.
      uuid:
          description:
              - Unique object identifier of the object.
  extends_documentation_fragment:
      - avi
  '''
  
  EXAMPLES = """
  - name: Example to create CloudProperties object
    avi_cloudproperties:
      controller: 10.10.25.42
      username: admin
      password: something
      state: present
      name: sample_cloudproperties
  """
  
  RETURN = '''
  obj:
      description: CloudProperties (api/cloudproperties) object
      returned: success, changed
      type: dict
  '''
  
  from ansible.module_utils.basic import AnsibleModule
  try:
      from ansible.module_utils.avi import (
          avi_common_argument_spec, HAS_AVI, avi_ansible_api)
  except ImportError:
      HAS_AVI = False
  
  
  def main():
      argument_specs = dict(
          state=dict(default='present',
                     choices=['absent', 'present']),
          cc_props=dict(type='dict',),
          cc_vtypes=dict(type='list',),
          hyp_props=dict(type='list',),
          info=dict(type='list',),
          url=dict(type='str',),
          uuid=dict(type='str',),
      )
      argument_specs.update(avi_common_argument_spec())
      module = AnsibleModule(
          argument_spec=argument_specs, supports_check_mode=True)
      if not HAS_AVI:
          return module.fail_json(msg=(
              'Avi python API SDK (avisdk>=17.1) is not installed. '
              'For more details visit https://github.com/avinetworks/sdk.'))
      return avi_ansible_api(module, 'cloudproperties',
                             set([]))
  
  if __name__ == '__main__':
      main()
  