@hackage kerry0.1.1

Manage and abstract your packer configurations.

kerry

Packer configuration and serialization.

Example


import           Kerry

write :: FilePath -> IO ()
write path =
  writeFile path (renderPacker example)

example :: Packer
example =
  Packer {
      variables = [
          UserVariable "name" "example-packer"
        ]
    , builders = [
          Builder (AmazonEBSBuilder $ aws builder) Nothing ssh
        ]
    , provisioners = []
    , postProcessors = []
    }

ssh :: Communicator
ssh =
  SSH $ defaultSSHCommunicator "ec2-user"

aws :: a -> AWS a
aws builder =
  AWS {
      awsRegion = "us-west-2"
    , awsCredentials = EnvironmentVariables
    , awsBuilder = builder
    }

builder :: EBS
builder =
 ebs
   "test"
   (SourceAmiId "ami-fred")
   "m4.xlarge"