Ansible provides modules that can manage the OpenStack instance life cycle, just like we did using APIs. You can find the full list of supported modules at http://docs.ansible.com/ansible/latest/modules/list_of_cloud_modules.html#OpenStack.
All OpenStack modules rely on the Python library called shade (https://pypi.python.org/pypi/shade), which provides a wrapper around OpenStack clients.
Once you have installed shade on the automation server, you will have access to the os-* modules that can manipulate the OpenStack configuration, such as os_image (to handle OpenStack images), os_network (to create the network), os_subnet (to create and associate the subnet with the created network), os_nova_flavor (to create flavors, given the RAM, CPU, and disk), and finally, the os_server module (to bring up the OpenStack instance).