It is simply the best/simplest solution and trying to prevent users from passing and integer here would be like opening a can of worms. Because: * we cannot make mapstructure validate our duration string ( with an UnmarshalJSON func etc.) * we cannot make mapstructure spit a string instead of a duration and packer will decode-encode-decode config. * the hcl2 generated code asks for a string, so this will be enforced by default.
1005 B
-
shutdown_command
(string) - The command to use to gracefully shut down the machine once all provisioning is complete. By default this is an empty string, which tells Packer to just forcefully shut down the machine. This setting can be safely omitted if for example, a shutdown command to gracefully halt the machine is configured inside a provisioning script. If one or more scripts require a reboot it is suggested to leave this blank (since reboots may fail) and instead specify the final shutdown command in your last script. -
shutdown_timeout
(duration string | ex: "1h5m2s") - The amount of time to wait after executing the shutdown_command for the virtual machine to actually shut down. If the machine doesn't shut down in this time it is considered an error. By default, the time out is "5m" (five minutes).