This is a Knife plugin for AWS Cloud Formation. This plugin gives knife the ability to validate, create, describe, and delete stacks.
Be sure you are running the latest version Chef. Versions earlier than 0.10.0 don’t support plugins:
gem install chef
This plugin is distributed as a Ruby Gem. To install it, run:
gem install knife-cfn
Depending on your system’s configuration, you may need to run this command with root privileges.
In order to communicate with the Amazon’s CloudFormation API you will have to tell Knife about your AWS Access Key and Secret Access Key. The easiest way to accomplish this is to create some entries in your knife.rb
file:
knife[:aws_access_key_id] = "Your AWS Access Key ID" knife[:aws_secret_access_key] = "Your AWS Secret Access Key"
If your knife.rb file will be checked into a SCM system (ie readable by others) you may want to read the values from environment variables:
knife[:aws_access_key_id] = "#{ENV['AWS_ACCESS_KEY_ID']}" knife[:aws_secret_access_key] = "#{ENV['AWS_SECRET_ACCESS_KEY']}"
You also have the option of passing your AWS API Key/Secret into the individual knife subcommands using the -A
(or --aws-access-key-id
) -K
(or --aws-secret-access-key
) command options
# provision a new stack knife cfn create test -f test.stack
This plugin provides the following Knife subcommands. Specific command options can be found by invoking the subcommand with a --help
flag
Validates a template file of template URL.
Create a cloud formation stack from a template file or Template URL.
Update a cloud formation stack from a template file or Template URL.
Deletes a running cloud formation stack.
Outputs the name, status, creation time and rollback status of a stack, or all stacks if stack name
is omitted. The --long
(-l
) parameter shows stack IDs (ARN) instead of friendly names.
Outputs a list of events for a stack name.
Outputs the logical resource ID, physical resource ID, resource type and status for all resources of a stack. If logical resource id
is specified, then only the details of that resource is shown. A logical resource ID is reference given to a resource in the cloudformation template, under the “Resources” section.
Outputs a list of outputs for a stack name. If -o
option is specified, then output will be formatted in the same syntax as parameters for cfn create / update
- Author
-
Neill Turner (neillwturner@gmail.com)
- Copyright
-
Copyright © 2012 EC2Dream.
- License
-
Apache License, Version 2.0
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.