Use have_attributes for VPC specs
Use have_attributes for VPC specs

This produces very nice and informative messages like this:

  1) The AWS module when creating a new VPC environment the created VPN gateway should have attributes {:type => "ipsec.1", :availability_zone => "sa-east-1a"}
     Failure/Error:
       is_expected.to have_attributes(
         :type => @config[:vpn_type],
         :availability_zone=>@config[:subnet_availability_zone],
       )

       expected #<struct vpn_gateway_id="vgw-48b26855", state="available", type="ipsec.1", availability_zone=nil, vpc_attachments=[#<struct vpc_id="vpc-0c97a669", state="attached">], tags=[#<struct key="created_by", value="aws-acceptance">, #<struct key="project", value="cloud">, #<struct key="Name", value="david@zion-14408ebb-9156-4f60-8007-0bdf7c1d910e-vgw">, #<struct key="department", value="engineering">]> to have attributes {:type => "ipsec.1", :availability_zone => "sa-east-1a"} but had attributes {:type => "ipsec.1", :availability_zone => nil}
       Diff:
       @@ -1,3 +1,3 @@
       -:availability_zone => "sa-east-1a",
       +:availability_zone => nil,
        :type => "ipsec.1",

     # ./spec/acceptance/vpc_spec.rb:165:in `block (4 levels) in <top (required)>'

DavidS/puppetlabs-aws,benpillet/puppetlabs-aws,zvymazal/puppetlabs-aws,gregohardy/puppetlabs-aws,hundredacres/puppetlabs-aws,zleswomp/puppetlabs-aws,puppetlabs/puppetlabs-aws,zleswomp/puppetlabs-aws,marksyme/puppetlabs-aws,daveseff/puppetlabs-aws,DavidS/puppetlabs-aws,daveseff/puppetlabs-aws,zvymazal/puppetlabs-aws,gregohardy/puppetlabs-aws,rfletcher/puppet-aws,benpillet/puppetlabs-aws,rfletcher/puppet-aws,puppetlabs/puppetlabs-aws,marksyme/puppetlabs-aws,hundredacres/puppetlabs-aws