add snapshot_labels to hcloud builder

This commit is contained in:
Nathan A. Ferch 2018-11-27 14:41:32 -05:00
parent 5067101304
commit fccd7d0692
3 changed files with 9 additions and 4 deletions

View File

@ -30,10 +30,11 @@ type Config struct {
ServerType string `mapstructure:"server_type"`
Image string `mapstructure:"image"`
SnapshotName string `mapstructure:"snapshot_name"`
UserData string `mapstructure:"user_data"`
UserDataFile string `mapstructure:"user_data_file"`
SSHKeys []string `mapstructure:"ssh_keys"`
SnapshotName string `mapstructure:"snapshot_name"`
SnapshotLabels map[string]string `mapstructure:"snapshot_labels"`
UserData string `mapstructure:"user_data"`
UserDataFile string `mapstructure:"user_data_file"`
SSHKeys []string `mapstructure:"ssh_keys"`
RescueMode string `mapstructure:"rescue"`

View File

@ -21,6 +21,7 @@ func (s *stepCreateSnapshot) Run(_ context.Context, state multistep.StateBag) mu
ui.Say("This can take some time")
result, _, err := client.Server.CreateImage(context.TODO(), &hcloud.Server{ID: serverID}, &hcloud.ServerCreateImageOpts{
Type: hcloud.ImageTypeSnapshot,
Labels: c.SnapshotLabels,
Description: hcloud.String(c.SnapshotName),
})
if err != nil {

View File

@ -58,6 +58,9 @@ builder.
appear in your account. Defaults to "packer-{{timestamp}}" (see
[configuration templates](/docs/templates/engine.html) for more info).
- `snapshot_labels` (object of key/value strings) - Key/value pair labels to
apply to the created image.
- `poll_interval` (string) - Configures the interval in which actions are
polled by the client. Default `500ms`. Increase this interval if you run
into rate limiting errors.