This commit is contained in:
Rémy Léone 2021-01-22 11:29:19 +01:00
parent 557bffc94a
commit 44d19f160a
3 changed files with 8 additions and 1 deletions

View File

@ -257,6 +257,10 @@ func (c *Config) Prepare(raws ...interface{}) ([]string, error) {
errs, errors.New("image is required"))
}
if c.Timeout == "" {
c.Timeout = "5m"
}
if errs != nil && len(errs.Errors) > 0 {
return warnings, errs
}

View File

@ -83,6 +83,7 @@ type FlatConfig struct {
Token *string `mapstructure:"api_token" required:"false" cty:"api_token" hcl:"api_token"`
Organization *string `mapstructure:"organization_id" required:"false" cty:"organization_id" hcl:"organization_id"`
Region *string `mapstructure:"region" required:"false" cty:"region" hcl:"region"`
Timeout *string `mapstructure:"timeout" required:"false" cty:"timeout" hcl:"timeout"`
}
// FlatMapstructure returns a new FlatConfig.
@ -170,6 +171,7 @@ func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec {
"api_token": &hcldec.AttrSpec{Name: "api_token", Type: cty.String, Required: false},
"organization_id": &hcldec.AttrSpec{Name: "organization_id", Type: cty.String, Required: false},
"region": &hcldec.AttrSpec{Name: "region", Type: cty.String, Required: false},
"timeout": &hcldec.AttrSpec{Name: "timeout", Type: cty.String, Required: false},
}
return s
}

View File

@ -34,7 +34,8 @@ func (s *stepShutdown) Run(ctx context.Context, state multistep.StateBag) multis
waitRequest := &instance.WaitForServerRequest{
ServerID: serverID,
}
timeout := state.Get("timeout").(string)
c := state.Get("config").(*Config)
timeout := c.Timeout
duration, err := time.ParseDuration(timeout)
if err != nil {
err := fmt.Errorf("error: %s could not parse string %s as a duration", err, timeout)