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