{
  "variables": {
    "aws_provider_version": "5.5.0",
    "google_provider_version": "4.70.0",
    "google_beta_provider_version": "4.70.0",
    "local_provider_version": "2.4.0",
    "random_provider_version": "3.5.1",
    "archive_provider_version": "2.4.0",
    "dns_provider_version": "3.3.2",
    "null_provider_version": "3.2.1",
    "time_provider_version": "0.9.1"
  },

  "builders": [{
    "type": "amazon-ebs",
    "region": "us-east-1",
    "source_ami_filter": {
      "filters": {
        "virtualization-type": "hvm",
        "architecture": "x86_64",
        "name": "*amzn2-ami-hvm-*",
        "block-device-mapping.volume-type": "gp2",
        "root-device-type": "ebs"
      },
      "owners": [
        "amazon"
      ],
      "most_recent": true
    },
    "instance_type": "t3.medium",
    "ssh_username": "ec2-user",
    "ami_name": "Jenkins terraform agent v{{timestamp}}",
    "vpc_id": "vpc-0ca801feb79f22108",
    "subnet_id": "subnet-0a058fdbd4cf00890",
    "security_group_id": "sg-076308b4ea635bb92",
    "associate_public_ip_address": true,
    "kms_key_id": "alias/default_ebs",
    "encrypt_boot": true,
    "launch_block_device_mappings": [
      {
        "device_name": "/dev/xvda",
        "encrypted": true,
        "kms_key_id": "alias/default_ebs",
        "volume_size": 16,
        "delete_on_termination": true
      }
    ],
    "tags": {
      "Name": "Terraform Agent v{{timestamp}}",
      "type": "terraform",
      "platform": "Delphi",
      "environment": "Common",
      "project": "Infrastructure",
      "service": "EC2",
      "plat_env_project_service": "DLP_CMN_INFRA_EC2"
    },
    "run_tags": {
      "Name": "Terraform Agent v{{timestamp}}",
      "type": "terraform",
      "platform": "Delphi",
      "environment": "Common",
      "project": "Infrastructure",
      "service": "EC2",
      "plat_env_project_service": "DLP_CMN_INFRA_EC2"
    },
    "run_volume_tags": {
      "Name": "Terraform Agent v{{timestamp}}",
      "type": "terraform",
      "platform": "Delphi",
      "environment": "Common",
      "project": "Infrastructure",
      "service": "EC2",
      "plat_env_project_service": "DLP_CMN_INFRA_EC2"
    },
    "snapshot_tags": {
      "platform": "Delphi",
      "environment": "Common",
      "project": "Infrastructure",
      "service": "EC2",
      "plat_env_project_service": "DLP_CMN_INFRA_EC2",
      "Name": "Terraform Agent v{{timestamp}}",
      "type": "terraform"
    }
  }],
  "provisioners": [
    {
      "type": "ansible",
      "playbook_file": "./terraform.yml",
      "use_proxy": false,
      "extra_arguments": [
        "--extra-vars",
        "aws_provider_version={{user `aws_provider_version`}} google_provider_version={{user `google_provider_version`}} google_beta_provider_version={{user `google_beta_provider_version`}} local_provider_version={{user `local_provider_version`}} random_provider_version={{user `random_provider_version`}} archive_provider_version={{user `archive_provider_version`}} dns_provider_version={{user `dns_provider_version`}} null_provider_version={{user `null_provider_version`}} time_provider_version={{user `time_provider_version`}}"
      ]
    }
  ]
}
