diff --git a/builder/scaleway/config.go b/builder/scaleway/config.go index d658e1dad..84b5e989e 100644 --- a/builder/scaleway/config.go +++ b/builder/scaleway/config.go @@ -29,6 +29,7 @@ type Config struct { SnapshotName string `mapstructure:"snapshot_name"` ImageName string `mapstructure:"image_name"` ServerName string `mapstructure:"server_name"` + Bootscript string `mapstructure:"bootscript"` UserAgent string ctx interpolate.Context diff --git a/builder/scaleway/step_create_server.go b/builder/scaleway/step_create_server.go index 57511d149..63350548d 100644 --- a/builder/scaleway/step_create_server.go +++ b/builder/scaleway/step_create_server.go @@ -20,9 +20,14 @@ func (s *stepCreateServer) Run(_ context.Context, state multistep.StateBag) mult c := state.Get("config").(Config) sshPubKey := state.Get("ssh_pubkey").(string) tags := []string{} + var bootscript *string ui.Say("Creating server...") + if c.Bootscript != "" { + bootscript = &c.Bootscript + } + if sshPubKey != "" { tags = []string{fmt.Sprintf("AUTHORIZED_KEY=%s", strings.TrimSpace(sshPubKey))} } @@ -33,6 +38,7 @@ func (s *stepCreateServer) Run(_ context.Context, state multistep.StateBag) mult Organization: c.Organization, CommercialType: c.CommercialType, Tags: tags, + Bootscript: bootscript, }) if err != nil {