There is a general tendency to add a parameter to every property related to resource configuration. Although it makes the template highly generic, it comes with a cost. ARM templates do not have many features for validating an incoming parameter. An ARM template can conduct basic checks in terms of the length of the parameter and whether or not it is mandatory. The users will not always know the appropriate values for some of these parameters.
Parameters should be defined only for those configurations that affect the size of the environment, the types of resources created, the cost of the environment, security-related information, and data that is needed to configure the resources.
As an example of the parameters for the environment size, we can have a Large, Medium, or Small environment. Based on the value, the appropriate SKU and the size of a resource...