packerlicious - a python wrapper for hashicorp packer templates.
Project description
About
packerlicious - a python library to create packer templates.
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:
alicloud-ecs
amazon-chroot
amazon-ebs
amazon-ebssurrogate
amazon-ebsvolume
amazon-instance
azure-arm
cloudstack
digitalocean
docker
file
googlecompute
hcloud
hetznercloud
hyperone
hyperv-iso
hyperv-vmcx
linode
lxc
lxd
ncloud
null
oneandone
openstack
oracle-classic
parallels-iso
parallels-pvm
profitbricks
proxmox
qemu
scaleway
tencentcloud-cvm
triton
vagrant
virtualbox-iso
virtualbox-ovf
vmware-iso
vmware-vmx
yandex
Post Processors:
alicloud-import
amazon-import
artifice
atlas
checksum
compress
digitalocean-import
docker-import
docker-push
docker-save
docker-tag
googlecompute-import
googlecompute-export
manifest
shell-local
vagrant
vagrant-cloud
vsphere
vsphere-template
Provisioners:
ansible-local
ansible
breakpoint
chef-client
chef-solo
converge
file
inspec
powershell
puppet-masterless
puppet-server
salt-masterless
shell
shell-local
windows-shell
windows-restart
Community Plugins:
Builders:
jetbrains-infra/packer-builder-vsphere (vsphere-iso, vsphere-clone)
solo-io/packer-builder-arm-image
Provisioners:
jrbeilke/packer-provisioner-inspec
Licensing
packerlicious is licensed under the Apache license 2.0. See LICENSE for the full license text.
packerlicious contains source code from troposphere which is licensed under the BSD 2-Clause license
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.