Amazon builder

This commit is contained in:
Mitchell Hashimoto 2013-03-23 18:40:26 -07:00
parent 41f77eb38f
commit 817822abab
5 changed files with 58 additions and 8 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/bin
/packer

View File

@ -1,6 +1,6 @@
all:
@mkdir -p bin/
go get
go build -o bin/packer
go get -a
go build -a -o bin/packer
.PHONY: all

21
builder/amazon/builder.go Normal file
View File

@ -0,0 +1,21 @@
package amazon
type config struct {
AccessKey string
Region string
SecretKey string
SourceAmi string
}
type Builder struct {
config config
}
func (*Builder) Prepare() {
}
func (*Builder) Build() {
}
func (*Builder) Destroy() {
}

15
example.toml Normal file
View File

@ -0,0 +1,15 @@
name = "my-custom-image"
[builder.amazon-ebs]
region = "us-east-1"
source = "ami-de0d9eb7"
[provision]
[provision.shell]
type = "shell"
path = "script.sh"
[output]
[output.vagrant]

View File

@ -1,6 +1,8 @@
// This is the main package for the `packer` application.
package main
import "github.com/mitchellh/packer/builder/amazon"
// A command is a runnable sub-command of the `packer` application.
// When `packer` is called with the proper subcommand, this will be
// called.
@ -22,10 +24,21 @@ type Environment struct {
commands map[string]Command
}
func main() {
env := Environment {
commands: map[string]Command {
""
},
}
type Template struct {
Name string
Builders map[string]interface{} `toml:"builder"`
Provisioners map[string]interface{} `toml:"provision"`
Outputs map[string]interface{} `toml:"output"`
}
type Builder interface {
Prepare()
Build()
Destroy()
}
func main() {
var builder Builder
builder = &amazon.Builder{}
builder.Build()
}