So to me, the good way of going forward is to resolve the get_input functions as,
1. At the command line, if user has provided value for an input, that's what should be returned
2. If no value is provided at the command line, set the value to the default value if provided
3. If above two's not true, set the value to an input function that HOT understand (assuming user will be providing value for it while running translated HOT template)
One exception to the step 3 is, properties for Compute node for OS capability (image related parameters e.g type or version etc.) and Container (flavor related parameters e.g. num_cpu), if user do not provide value at the CLI and no default value is set that will be an error case otherwise we set image and flavor in the HOT by finding the closest match to the image and flavor.
So to me, the good way of going forward is to resolve the get_input functions as,
1. At the command line, if user has provided value for an input, that's what should be returned
2. If no value is provided at the command line, set the value to the default value if provided
3. If above two's not true, set the value to an input function that HOT understand (assuming user will be providing value for it while running translated HOT template)
One exception to the step 3 is, properties for Compute node for OS capability (image related parameters e.g type or version etc.) and Container (flavor related parameters e.g. num_cpu), if user do not provide value at the CLI and no default value is set that will be an error case otherwise we set image and flavor in the HOT by finding the closest match to the image and flavor.