Class: Fog::Compute::AWS::VPC
- Inherits:
-
Model
- Object
- Model
- Fog::Compute::AWS::VPC
- Defined in:
- lib/fog/aws/models/compute/vpc.rb
Instance Method Summary collapse
-
#destroy ⇒ Object
Removes an existing vpc.
-
#initialize(attributes = {}) ⇒ VPC
constructor
A new instance of VPC.
- #ready? ⇒ Boolean
-
#save ⇒ Object
Create a vpc.
Constructor Details
#initialize(attributes = {}) ⇒ VPC
Returns a new instance of VPC.
15 16 17 18 19 |
# File 'lib/fog/aws/models/compute/vpc.rb', line 15 def initialize(attributes={}) self. ||= "default" self.tenancy ||= "default" super end |
Instance Method Details
#destroy ⇒ Object
Removes an existing vpc
vpc.destroy
Returns
True or false depending on the result
35 36 37 38 39 40 |
# File 'lib/fog/aws/models/compute/vpc.rb', line 35 def destroy requires :id service.delete_vpc(id) true end |
#ready? ⇒ Boolean
21 22 23 24 |
# File 'lib/fog/aws/models/compute/vpc.rb', line 21 def ready? requires :state state == 'available' end |
#save ⇒ Object
Create a vpc
>> g = AWS.vpcs.new(:cidr_block => “10.1.2.0/24”) >> g.save
Returns:
True or an exception depending on the result. Keep in mind that this creates a new vpc. As such, it yields an InvalidGroup.Duplicate exception if you attempt to save an existing vpc.
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/fog/aws/models/compute/vpc.rb', line 53 def save requires :cidr_block data = service.create_vpc(cidr_block).body['vpcSet'].first new_attributes = data.reject {|key,value| key == 'requestId'} new_attributes = data.reject {|key,value| key == 'requestId' || key == 'tagSet' } merge_attributes(new_attributes) if = self. # expect eventual consistency Fog.wait_for { self.reload rescue nil } service.( self.identity, ) end true end |