Class: AWS::EC2::VPC
- Inherits:
-
Resource
- Object
- Core::Resource
- Resource
- AWS::EC2::VPC
- Includes:
- TaggedItem
- Defined in:
- lib/aws/ec2/vpc.rb
Instance Attribute Summary collapse
-
#cidr_block ⇒ String
readonly
The current value of cidr_block.
-
#dhcp_options_id ⇒ String
readonly
The current value of dhcp_options_id.
-
#instance_tenancy ⇒ Symbol
readonly
The current value of instance_tenancy.
-
#state ⇒ Symbol
readonly
The current value of state.
- #vpc_id ⇒ String (also: #id) readonly
Instance Method Summary collapse
-
#delete ⇒ nil
Deletes the current VPC.
-
#dhcp_options ⇒ DHCPOptions
Returns the dhcp options associated with this VPC.
-
#dhcp_options=(dhcp_options) ⇒ Object
Associates the given dhcp options with this VPC.
-
#initialize(vpc_id, options = {}) ⇒ VPC
constructor
A new instance of VPC.
-
#instances ⇒ InstanceCollection
Returns a filtered collection of instances that are in this VPC.
-
#internet_gateway ⇒ InternetGateway?
Returns the internet gateway attached to this VPC.
-
#internet_gateway=(internet_gateway) ⇒ Object
Attaches the given internet gateway to this VPC.
-
#network_acls ⇒ NetworkACLCollection
Returns a filtered collection of network ACLs that are in this VPC.
-
#network_interfaces ⇒ NetworkInterfaceCollection
Returns a filtered collection of network interfaces that are in this VPC.
-
#route_tables ⇒ RouteTableCollection
Returns a filtered collection of route tables that are in this VPC.
-
#security_groups ⇒ SecurityGroupCollection
Returns a filtered collection of security groups that are in this VPC.
-
#subnets ⇒ SubnetCollection
Returns a filtered collection of subnets that are in this VPC.
-
#vpn_gateway ⇒ VPNGateway?
Returns the vpn gateway attached to this VPC.
Methods included from TaggedItem
Constructor Details
#initialize(vpc_id, options = {}) ⇒ VPC
Returns a new instance of VPC.
25 26 27 28 |
# File 'lib/aws/ec2/vpc.rb', line 25 def initialize vpc_id, = {} @vpc_id = vpc_id super end |
Instance Attribute Details
#cidr_block ⇒ String (readonly)
Returns the current value of cidr_block.
21 22 23 |
# File 'lib/aws/ec2/vpc.rb', line 21 def cidr_block @cidr_block end |
#dhcp_options_id ⇒ String (readonly)
Returns the current value of dhcp_options_id.
21 22 23 |
# File 'lib/aws/ec2/vpc.rb', line 21 def @dhcp_options_id end |
#instance_tenancy ⇒ Symbol (readonly)
Returns the current value of instance_tenancy.
21 22 23 |
# File 'lib/aws/ec2/vpc.rb', line 21 def instance_tenancy @instance_tenancy end |
#state ⇒ Symbol (readonly)
Returns the current value of state.
21 22 23 |
# File 'lib/aws/ec2/vpc.rb', line 21 def state @state end |
#vpc_id ⇒ String (readonly) Also known as: id
31 32 33 |
# File 'lib/aws/ec2/vpc.rb', line 31 def vpc_id @vpc_id end |
Instance Method Details
#delete ⇒ nil
Deletes the current VPC. The VPC must be empty before it can be deleted.
54 55 56 57 |
# File 'lib/aws/ec2/vpc.rb', line 54 def delete client.delete_vpc(:vpc_id => vpc_id) nil end |
#dhcp_options ⇒ DHCPOptions
Returns the dhcp options associated with this VPC.
141 142 143 |
# File 'lib/aws/ec2/vpc.rb', line 141 def DHCPOptions.new(, :config => config) end |
#dhcp_options=(dhcp_options) ⇒ Object
Associates the given dhcp options with this VPC.
vpc.dhcp_optinos = ec2.['dopt-a1234abc']
You can also specify the string ‘default’ to use Amazon’s default dhcp options.
vpc.dhcp_optinos = 'default'
157 158 159 160 161 162 |
# File 'lib/aws/ec2/vpc.rb', line 157 def unless .is_a?(DHCPOptions) = DHCPOptions.new(, :config => config) end .associate(self) end |
#instances ⇒ InstanceCollection
Returns a filtered collection of instances that are in this VPC.
61 62 63 |
# File 'lib/aws/ec2/vpc.rb', line 61 def instances InstanceCollection.new(:config => config).filter('vpc-id', vpc_id) end |
#internet_gateway ⇒ InternetGateway?
Returns the internet gateway attached to this VPC. If no internet gateway has been attached, then nil is returned.
98 99 100 101 |
# File 'lib/aws/ec2/vpc.rb', line 98 def internet_gateway gateways = InternetGatewayCollection.new(:config => config) gateways.filter('attachment.vpc-id', vpc_id).first end |
#internet_gateway=(internet_gateway) ⇒ Object
Attaches the given internet gateway to this VPC. If there is already an internet gateway attached, it will be detached from this VPC first. If you pass nil, this will leave the current VPC without an attached internet gateway.
vpc.internet_gateway = gateway_1
vpc.internet_gateway = gateway_2 # detaches gateway_1 first
vpc.internet_gateway = nil # detaches gateway_2
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/aws/ec2/vpc.rb', line 115 def internet_gateway= internet_gateway # remove currently attached internet gateway gateway = self.internet_gateway gateway.detach(self) if gateway if internet_gateway unless internet_gateway.is_a?(InternetGateway) internet_gateway = InternetGateway.new(internet_gateway, :config => config) end internet_gateway.attach(self) end end |
#network_acls ⇒ NetworkACLCollection
Returns a filtered collection of network ACLs that are in this VPC.
79 80 81 |
# File 'lib/aws/ec2/vpc.rb', line 79 def network_acls NetworkACLCollection.new(:config => config).filter('vpc-id', vpc_id) end |
#network_interfaces ⇒ NetworkInterfaceCollection
Returns a filtered collection of network interfaces that are in this VPC.
91 92 93 |
# File 'lib/aws/ec2/vpc.rb', line 91 def network_interfaces NetworkInterfaceCollection.new(:config => config).filter('vpc-id', id) end |
#route_tables ⇒ RouteTableCollection
Returns a filtered collection of route tables that are in this VPC.
85 86 87 |
# File 'lib/aws/ec2/vpc.rb', line 85 def route_tables RouteTableCollection.new(:config => config).filter('vpc-id', vpc_id) end |
#security_groups ⇒ SecurityGroupCollection
Returns a filtered collection of security groups that are in this VPC.
67 68 69 |
# File 'lib/aws/ec2/vpc.rb', line 67 def security_groups SecurityGroupCollection.new(:config => config).filter('vpc-id', vpc_id) end |
#subnets ⇒ SubnetCollection
Returns a filtered collection of subnets that are in this VPC.
73 74 75 |
# File 'lib/aws/ec2/vpc.rb', line 73 def subnets SubnetCollection.new(:config => config).filter('vpc-id', vpc_id) end |
#vpn_gateway ⇒ VPNGateway?
Returns the vpn gateway attached to this VPC. If no vpn gateway has been attached, then nil is returned.
134 135 136 137 |
# File 'lib/aws/ec2/vpc.rb', line 134 def vpn_gateway gateways = VPNGatewayCollection.new(:config => config) gateways.filter('attachment.vpc-id', vpc_id).first end |