Azure operations can be divided into two categories - control plane(控制平面) and data plane(数据平面).1
You use the control plane to manage resources in your subscription. 1
Q: How to know which operation use the control plane?
All requests for control plane operations are sent to the Azure Resource Manager URL. 1
Q: What is the relationship between Azure Resource Manager?
Azure Resource Manager is a control plane. Another control plane is Azure Service Manager which is the old control plane.2
You use the data plane to use capabilities exposed by your instance of a resource type.1 Data plane operations are operations sent to your instance of a service, such as
REST API & SDK
Let's take Cosmos DB as an example. There are two API in Azure REST API:
Q: Can I use Resource Provider API to put data into Cosmos DB?
No. Because there is a note in Collections :
If you require complete feature support for all Azure Cosmos DB resources, we recommend using the Cosmos DB Resource Provider.
But there isn't a note in Documents . So Resource Provider API doesn't support insert data.
Another example is that you can set Lock to Cosmos DB Account and Database, but it doesn't work for data because of Lock just working for Resource Provider API.
Q: which API does tools use?
From the image, we can know that all the tools use the control plane.
We can use Azure Portal, Azure PowerShell and Azure CLI use Cosmos API to insert data6, so they use both Cosmos DB REST API and Cosmos DB Resource Provider REST API.
Terraform is the only tool that just use the control plane but not use the data plane.8
[Docs overview hashicorp/azurerm Terraform Registry](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs)