packer-cn/builder/triton
stack72 7776bf596b builder/triton: Add a data source for source_machine_image
fixes: #5476

Based on this new template addition:

```
{
    "variables": {
        "image_version": "",
        "triton_account": "",
        "triton_key_id": "",
        "triton_key_material": ""
    },
    "builders": [{
        "type": "triton",
        "triton_account": "{{user `triton_account`}}",
        "triton_key_id": "{{user `triton_key_id`}}",
        "triton_key_material": "{{user `triton_key_material`}}",
        "source_machine_package": "g4-highcpu-128M",
        "source_machine_image_filter": {
          "name": "ubuntu-16.04",
          "most_recent": "true"
        },
        "ssh_username": "root",
        "image_version": "{{user `image_version`}}",
        "image_name": "teamcity-server"
    }],
    "provisioners": [
        {
            "type": "shell",
            "start_retry_timeout": "10m",
            "inline": [
                "sudo apt-get update -y",
                "sudo apt-get install -y nginx"
            ]
        }
    ]
}

```

I got the following output from packer:

```
packer-testing % make image
packer build \
		-var "triton_account=stack72_joyent" \
		-var "triton_key_id=40:9d:d3:f9:0b:86:62:48:f4:2e:a5:8e:43:00:2a:9b" \
		-var "triton_key_material=""" \
		-var "image_version=1.0.0" \
		new-template.json
triton output will be in this color.

==> triton: Selecting an image based on search criteria
==> triton: Based, on given search criteria, Machine ID is: "7b5981c4-1889-11e7-b4c5-3f3bdfc9b88b"
==> triton: Waiting for source machine to become available...
==> triton: Waiting for SSH to become available...
==> triton: Connected to SSH!
==> triton: Provisioning with shell script: /var/folders/_p/2_zj9lqn4n11fx20qy787p7c0000gn/T/packer-shell797317310
    triton: Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
    triton: Hit:2 http://archive.ubuntu.com/ubuntu xenial InRelease
```

I can verify from the triton cli tools that the id `7b5981c4` (from the packer output) is indeed the correct ID

```
terraform [master●] % triton images name=~ubuntu-16.04
SHORTID   NAME          VERSION   FLAGS  OS     TYPE        PUBDATE
49b22aec  ubuntu-16.04  20160427  P      linux  lx-dataset  2016-04-27
675834a0  ubuntu-16.04  20160505  P      linux  lx-dataset  2016-05-05
4edaa46a  ubuntu-16.04  20160516  P      linux  lx-dataset  2016-05-16
05140a7e  ubuntu-16.04  20160601  P      linux  lx-dataset  2016-06-01
e331b22a  ubuntu-16.04  20161004  P      linux  lx-dataset  2016-10-04
8879c758  ubuntu-16.04  20161213  P      linux  lx-dataset  2016-12-13
7b5981c4  ubuntu-16.04  20170403  P      linux  lx-dataset  2017-04-03 <------- THIS IS THE LATEST UBUNTU IMAGE
```
2017-11-02 16:10:16 +02:00
..
access_config.go Bump Joyent/triton-go to modern version of the SDK 2017-10-31 18:08:53 +02:00
access_config_test.go builder/triton: Better AccessConfig tests 2017-04-26 14:08:29 -07:00
artifact.go builder: add Triton builder 2016-12-24 10:25:31 +01:00
builder.go builder/triton: Switch to joyent/triton-go library 2017-04-26 14:02:03 -07:00
config.go move packer to hashicorp 2017-04-04 13:39:01 -07:00
config_test.go builder/triton: Better AccessConfig tests 2017-04-26 14:08:29 -07:00
driver.go builder/triton: Add a data source for source_machine_image 2017-11-02 16:10:16 +02:00
driver_mock.go builder/triton: Add a data source for source_machine_image 2017-11-02 16:10:16 +02:00
driver_triton.go builder/triton: Add a data source for source_machine_image 2017-11-02 16:10:16 +02:00
source_machine_config.go builder/triton: Add a data source for source_machine_image 2017-11-02 16:10:16 +02:00
source_machine_config_test.go builder/triton: Add a data source for source_machine_image 2017-11-02 16:10:16 +02:00
ssh.go update ssh client usage for new crypto/ssh version 2017-05-18 12:01:44 -07:00
step_create_image_from_machine.go move packer to hashicorp 2017-04-04 13:39:01 -07:00
step_create_image_from_machine_test.go builder: add Triton builder 2016-12-24 10:25:31 +01:00
step_create_source_machine.go builder/triton: Add a data source for source_machine_image 2017-11-02 16:10:16 +02:00
step_create_source_machine_test.go builder: add Triton builder 2016-12-24 10:25:31 +01:00
step_delete_machine.go move packer to hashicorp 2017-04-04 13:39:01 -07:00
step_delete_machine_test.go builder: add Triton builder 2016-12-24 10:25:31 +01:00
step_stop_machine.go move packer to hashicorp 2017-04-04 13:39:01 -07:00
step_stop_machine_test.go builder: add Triton builder 2016-12-24 10:25:31 +01:00
step_test.go move packer to hashicorp 2017-04-04 13:39:01 -07:00
step_wait_for_stop_to_not_fail.go move packer to hashicorp 2017-04-04 13:39:01 -07:00
target_image_config.go move packer to hashicorp 2017-04-04 13:39:01 -07:00
target_image_config_test.go builder: add Triton builder 2016-12-24 10:25:31 +01:00