This brings us to the end of Chapter 3. This chapter laid the foundations for writing more complex ARM templates, which we'll cover in subsequent chapters. It discussed in detail the resources and outputs sections of templates, expressions, and functions, including references and resourceId. We also looked into dependency definition and how to create and deploy linked templates.
In the next chapter, we will further build on the concepts explained in this chapter, such as deploying multiple resources using copy functions, conditional deployment, and nested templates.