Add tags to instance

This commit is contained in:
Aleksey Hariton 2019-04-18 17:44:33 +03:00
parent f08373c4fe
commit 1bf3428263
2 changed files with 16 additions and 0 deletions

View File

@ -59,6 +59,8 @@ type Config struct {
TemplateScalable bool `mapstructure:"template_scalable"` TemplateScalable bool `mapstructure:"template_scalable"`
TemplateTag string `mapstructure:"template_tag"` TemplateTag string `mapstructure:"template_tag"`
Tags map[string]string `mapstructure:"tags"`
ctx interpolate.Context ctx interpolate.Context
} }

View File

@ -149,6 +149,20 @@ func (s *stepCreateInstance) Run(ctx context.Context, state multistep.StateBag)
// Store the instance ID so we can remove it later. // Store the instance ID so we can remove it later.
state.Put("instance_id", instance.Id) state.Put("instance_id", instance.Id)
// Set instance tags
if config.Tags != nil {
resourceID := []string{instance.Id}
tp := client.Resourcetags.NewCreateTagsParams(resourceID, "UserVm", config.Tags)
_, err = client.Resourcetags.CreateTags(tp)
if err != nil {
state.Put("error", err)
ui.Error(err.Error())
return multistep.ActionHalt
}
}
return multistep.ActionContinue return multistep.ActionContinue
} }