skip to navigation
skip to content

packerlicious 0.2.1

packerlicious - a python wrapper for packer templates.

Latest Version: 0.3.0

About

packerlicious - a python library to create packer templates.

Project follows semantic versioning , v0.x.x API should be considered unstable, API will change frequently, please plan accordingly.

This project leverages the logic engine of troposphere.

Installation

packerlicious can be installed via pip:

$ pip install packerlicious

Examples

Below is the packerlicious equivalent of packer’s example template

>>> from packerlicious import builder, provisioner, Template
>>> template = Template()
>>> template.add_builder(
...     builder.AmazonEbs(
...         access_key="...",
...         secret_key="...",
...         region = "us-east-1",
...         source_ami="ami-fce3c696",
...         instance_type="t2.micro",
...         ssh_username="ubuntu",
...         ami_name="packer {{timestamp}}"
...     )
... )
<packerlicious.builder.AmazonEbs object at 0x104e87ad0>
>>> template.add_provisioner(
...     provisioner.Shell(
...         script="setup_things.sh"
...     )
... )
<packerlicious.provisioner.Shell object at 0x1048c08d0>
>>> print(template.to_json())
{
  "builders": [
    {
      "access_key": "...",
      "ami_name": "packer {{timestamp}}",
      "instance_type": "t2.micro",
      "region": "us-east-1",
      "secret_key": "...",
      "source_ami": "ami-fce3c696",
      "ssh_username": "ubuntu",
      "type": "amazon-ebs"
    }
  ],
  "provisioners": [
    {
      "script": "setup_things.sh",
      "type": "shell"
    }
  ]
}

Currently supported Packer resources

Builders:

  • amazon-ebs
  • docker
  • file

Post Processors:

  • alicloud-import
  • amazon-import
  • artifice
  • atlas
  • checksum
  • compress
  • docker-import
  • docker-push
  • docker-save
  • docker-tag
  • googlecompute-export
  • manifest
  • shell-local
  • vagrant
  • vagrant-cloud
  • vsphere

Provisioners:

  • ansible-local
  • ansible
  • file
  • salt-masterless
  • shell
  • shell-local

Licensing

packerlicious is licensed under the Apache license 2.0. See LICENSE for the full license text.

 
File Type Py Version Uploaded on Size
packerlicious-0.2.1.tar.gz (md5) Source 2017-08-13 15KB