1. HashiCorp Terraform Documentation, "Resources - Resource Syntax": This section details the structure of a resource block. It states, "The resource type and name are specified after the resource keyword. The type is prefixed with the name of the provider that it belongs to. In the example above, awsinstance is a type of resource that belongs to the aws provider."
Source: HashiCorp, Terraform Documentation, Configuration Language, "Resources", section "Resource Syntax".
2. HashiCorp Terraform Documentation, "Providers": This page defines the role of a provider. It explains, "Each provider adds a set of resource types and/or data sources that Terraform can manage... Every resource type is implemented by a provider."
Source: HashiCorp, Terraform Documentation, Configuration Language, "Providers".