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.
13 14 15 16 17 |
# File 'lib/fog/aws/models/compute/vpc.rb', line 13 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
33 34 35 36 37 38 |
# File 'lib/fog/aws/models/compute/vpc.rb', line 33 def destroy requires :id service.delete_vpc(id) true end |
#ready? ⇒ Boolean
19 20 21 22 |
# File 'lib/fog/aws/models/compute/vpc.rb', line 19 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.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/fog/aws/models/compute/vpc.rb', line 51 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 |