lib/cloudstrap/amazon/ec2.rb in cloudstrap-0.40.1.pre vs lib/cloudstrap/amazon/ec2.rb in cloudstrap-0.40.3.pre

- old
+ new

@@ -272,13 +272,15 @@ .tap { key_pairs! } rescue ::Aws::EC2::Errors::InvalidKeyPairDuplicate key_fingerprint(key_name) end - Contract None => ::Aws::EC2::Types::Vpc + Contract None => ::Aws::EC2::Vpc def create_vpc - call_api(:create_vpc, cidr_block: config.vpc_cidr_block).vpc + response = call_api(:create_vpc, cidr_block: config.vpc_cidr_block).vpc + ::Aws::EC2::Vpc.new(response.vpc_id) + .wait_until_available .tap { vpcs! } end Contract KeywordArgs[ cidr_block: Optional[String], @@ -313,12 +315,15 @@ Contract KeywordArgs[ cidr_block: String, vpc_id: String, availability_zone: Optional[String] - ] => ::Aws::EC2::Types::Subnet + ] => ::Aws::EC2::Subnet def create_subnet(**properties) - call_api(:create_subnet, properties).subnet + response = call_api(:create_subnet, properties).subnet + Aws::EC2::Subnet + .new(response.subnet_id) + .wait_until { |subnet| subnet.state == 'available' } .tap { subnets! } rescue ::Aws::EC2::Errors::InvalidSubnetConflict subnet(properties) || subnet!(properties) end