Class: Chef::Resource::AwsVpc
- Inherits:
-
Provisioning::AWSDriver::AWSResourceWithEntry
- Object
- Provisioning::AWSDriver::AWSResourceWithEntry
- Chef::Resource::AwsVpc
- Defined in:
- lib/chef/resource/aws_vpc.rb
Overview
Represents an AWS VPC.
This allows you to finely control network access and security for your instances, creating a “walled garden” which cannot be accessed by the Internet (or get out to it) without explicitly enabling it through subnets, route tables, internet gateways and NATs.
VPCs and network security are closely related with the following other resources:
-
‘aws_subnet`: sub-sections of a VPC that can be walled off from each other, which actually contain instances
-
‘aws_security_group`: descriptions of instances–particularly, who can talk to them and who they can talk to.
-
‘aws_route_table`: descriptions of where traffic should be routed when an instance in a subnet tries to talk to a particular IP.
‘name` is not guaranteed unique for an AWS account; therefore, Chef will store the VPC ID associated with this name in your Chef server in the data bag `data/aws_vpc/<name>`.
General documentation on AWS VPCs can be found here:
API documentation for the AWS Ruby SDK for VPCs (and the object returned from ‘aws_object` can be found here:
Instance Method Summary collapse
Instance Method Details
#aws_object ⇒ Object
132 133 134 135 136 |
# File 'lib/chef/resource/aws_vpc.rb', line 132 def aws_object driver, id = get_driver_and_id result = driver.ec2.vpcs[id] if id result && result.exists? ? result : nil end |