Creating Yaml templates that assign floating IPs to your instances being spawned can be a bit tricky.Let us look at a scenario where we need to spin up a VM, assign a floating IP from a pool and make reference to this floating IP in your userdata as well. We will make use of the network ID of the internal and external network, as well as the Subnet ID of the internal network The logical workflow is as follows: Create a port resource using internal network and internal subnet IDs Create a floating IP resource , referring to the external network ID Associate the floating IP to the port In the server resource being created, associate the port resource Now we will see how this can be implemented using both HOT and AWS template formats