# Provision aws hosts

**URL:** <https://forum.ansible.com/t/provision-aws-hosts/18071>\
**Category:** Ansible Project\
**Tags:** aws\
**Created:** [April 24, 2015, 9:36am UTC](https://forum.ansible.com/t/provision-aws-hosts/18071 "2015-04-24T09:36:47Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Serega\_Sheypak](https://avatars.discourse-cdn.com/v4/letter/s/7bcc69/32.png) [@Serega\_Sheypak](https://forum.ansible.com/u/Serega_Sheypak)\
**Post date:** [April 24, 2015, 9:36am UTC](https://forum.ansible.com/t/provision-aws-hosts/18071/1 "2015-04-24T09:36:47Z")

</div>

Hi, I’m new to ansible and have confusion.  
What I have right now:  
ansible+vagrant playbook. Vagrant creates VMs in virtualbox and sets up networking.  
Ansible does provisioning stuff:

- install
- configure
- put some templates

Right now all host names and IP addresses are hardcoded.  
Example for host variable used to configure software.  
/host\_vars/dsenode03

config:  
cluster\_name: ‘DSE Cluster’  
seeds: ‘192.168.56.10’  
listen\_address: 192.168.56.10  
rpc\_address: 192.168.56.10

Really, I point dsenode03 to dsenode01 (92.168.56.10)

If I turn to AWS I can’t hardcode smth, since names,addresses would be different each time.  
What is the right approach to remove hardcodes? Can I find some examples?

---

<div class="post-metadata">

**Author:** ![Brenda\_Bell](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@Brenda\_Bell](https://forum.ansible.com/u/Brenda_Bell)\
**Post date:** [April 29, 2015, 1:42am UTC](https://forum.ansible.com/t/provision-aws-hosts/18071/2 "2015-04-29T01:42:36Z")

</div>

I think you want to look into using dynamic inventories.

Start with [http://docs.ansible.com/intro\_dynamic\_inventory.html](http://docs.ansible.com/intro_dynamic_inventory.html).
