title: Deleting CloudFormation VPC stack without disassociating the Elastic IP causes delete to fail
body: <p>I've got a CloudFormation stack (anonymised version at <a href="https://gist.github.com/palfrey/7021931" rel="nofollow">https://gist.github.com/palfrey/7021931</a>) that creates correctly, but attempting to delete it fails trying to delete the VPCGatewayAttachment, because it complains about the VPC having mapped public addresses. If however, I disassociate the Elastic IP from the Instance which is inside the VPC first, it works fine.</p>
  
  <p>Things of note from the stack JSON:</p>
  
  <ul>
  <li>The elastic IP and the VPCGatewayAttachment are created and associated as part of the stack creation. I don't make any changes between creation and deletion.</li>
  <li>I'm using the AWS Powershell helpers to create and destroy, specifically New-CFNStack and Remove-CFNStack, but manually deleting the stack from the AWS console has the same results.</li>
  <li>The delete sequences from the AWS console indicates it's trying to delete the VPCGatewayAttachment before the Elastic IP, but if I disassociate it does things in the right order.</li>
  </ul>
  
  <p>I can work around this by disassociating the Elastic IP myself beforehand, but I'm confused as to why it doesn't just do things in the correct order, given that CloudFormation seems to know about other dependencies in the delete sequence.</p>