Fog Driver Resources¶
Chef provisioning is a collection of resources that enable the creation of machines and machine infrastructures using the chef-client. It has a plugin model that allows bootstrap operations to be done against any infrastructure, such as VirtualBox, DigitalOcean, Amazon EC2, LXC, bare metal, and more.
Chef provisioning is built around two major components: the machine resource and drivers.
Chef provisioning is packaged in the Chef development kit. Chef provisioning is a framework that allows clusters to be managed by the chef-client and the Chef server in the same way nodes are managed: with recipes. Use Chef provisioning to describe, version, deploy, and manage clusters of any size and complexity using a common set of tools.
A driver-specific resource is a statement of configuration policy that:
- Describes the desired state for a configuration item that is created using Chef provisioning
- Declares the steps needed to bring that item to the desired state
- Specifies a resource type—such as
package
,template
, orservice
- Lists additional details (also known as properties), as necessary
- Are grouped into recipes, which describe working configurations
The following driver-specific resources are available for Fog and Chef provisioning:
fog_key_pair
fog_key_pair¶
The fog_key_pair
resource is a driver-specific resource used by Chef provisioning for use with Fog, a Ruby gem for interacting with various cloud providers, such as Amazon EC2, CloudStack, DigitalOcean, Google Cloud Platform, Joyent, OpenStack, Rackspace, SoftLayer, and vCloud Air.
Syntax¶
A fog_key_pair
resource block typically declares a key pair for use with Fog, a Ruby gem for interacting with various cloud providers. For example:
fog_key_pair 'name' do
private_key_options({
:format => :pem,
:type => :rsa,
:regenerate_if_different => true
})
allow_overwrite true
end
The full syntax for all of the properties that are available to the fog_key_pair
resource is:
fog_key_pair 'name' do
allow_overwrite true, false
driver Chef::Provisioning::Driver
private_key_options Hash
private_key_path String
public_key_path String
end
where
fog_key_pair
is the resourcename
is the name of the resource block and also the name of an instance in Amazon EC2allow_overwrite
,driver
,private_key_options
,private_key_path
, andpublic_key_path
are properties of this resource, with the Ruby type shown. See “Properties” section below for more information about all of the properties that may be used with this resource.
Properties¶
This Chef provisioning driver-specific resource has the following properties:
Property | Description |
---|---|
allow_overwrite |
Ruby Type: true, false Use to allow overwriting an existing key pair. |
driver |
Ruby Type: Chef::Provisioning::Driver The Chef provisioning driver. |
private_key_options |
Ruby Type: Hash A Hash that defines a list of parameters used when generating a private key. |
private_key_path |
Ruby Type: String Use to specify the location from which the private key is generated. If this value is not specified, the private key will be generated. |
public_key_path |
Ruby Type: String Use to specify the location from which the public key is generated. If this value is not specified, the public key will be generated. |
Examples¶
None.