1. HashiCorp Terraform Documentation: The official documentation for various cloud providers demonstrates the use of arguments to pass cloud-init data. For example
the awsinstance resource uses the userdata argument.
Source: HashiCorp
"Terraform AWS Provider - awsinstance resource"
userdata argument documentation. (Available on the official Terraform Registry website).
Quote/Concept: "userdata - (Optional) The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userdatabase64 instead." This argument is the standard mechanism for passing cloud-init scripts.
2. Cisco DevNet Documentation: Cisco provides official guides and code for deploying SD-WAN virtual appliances in public clouds using Terraform
validating it as the intended tool for this use case.
Source: Cisco DevNet
"Cisco SD-WAN Cloud OnRamp for IaaS with Terraform on AWS".
Section: The guide's overview and code examples explicitly use Terraform to provision EC2 instances for vEdge/cEdge Cloud routers and utilize userdata to pass bootstrap configurations.
3. University Courseware: Reputable computer science programs cover the distinct roles of provisioning and configuration management tools in their DevOps and Cloud Computing curricula.
Source: University of California
Berkeley
CS 162: Operating Systems and System Programming
Lecture 23: "Datacenter Computing".
Concept: The lecture materials differentiate between tools for provisioning (like Terraform) that create and manage infrastructure resources
and tools for configuration management (like Ansible
Puppet) that install and manage software on those resources. The question describes a provisioning task.