packer { required_plugins { amazon = { version = ">= 0.0.2" source = "github.com/hashicorp/amazon" } } } variable "ami_prefix" { type = string default = "datasaker-bastion-ubuntu2004" } locals { timestamp = regex_replace(timestamp(), "[- TZ:]", "") } source "amazon-ebs" "datasaker-bastion-ubuntu2004" { ami_name = "${var.ami_prefix}-${local.timestamp}" instance_type = "t3.small" region = "ap-northeast-2" source_ami_filter { filters = { image-id = "ami-0ea5eb4b05645aa8a" root-device-type = "ebs" virtualization-type = "hvm" } most_recent = true owners = ["099720109477"] } tags = { source_ami_name = "{{ .SourceAMIName }}" } ssh_username = "ubuntu" } build { name = "datasaker-bastion-packer" sources = ["source.amazon-ebs.datasaker-bastion-ubuntu2004"] provisioner "ansible" { playbook_file = "../ansible/bastion_roles.yaml" user = "ubuntu" extra_arguments = ["--become"] ansible_env_vars = ["ANSIBLE_HOST_KEY_CHECKING=False"] } }