Azure resource group lifecycle
Lists the resource groups in a subscription. The resource group is the container every other Azure resource belongs to and the unit of bulk deletion, so this is the entry point for both inventory and teardown.
Query
SELECT name, location, provisioning_state, id, tags
FROM azure.resource.resource_groups
WHERE subscription_id = '{{subscription_id}}';
Creating a resource group
Body properties are supplied as plain columns - location here - with no prefix on the column name:
INSERT INTO azure.resource.resource_groups(
resource_group_name,
subscription_id,
location
)
SELECT 'my-resource-group', '{{subscription_id}}', 'eastus';
Deleting a resource group
Deletion is asynchronous and cascades to every resource inside the group:
DELETE FROM azure.resource.resource_groups
WHERE resource_group_name = 'my-resource-group'
AND subscription_id = '{{subscription_id}}';
Notes
subscription_id is a required routing parameter on effectively every Azure resource, and resource_group_name narrows a list to a single group. Body properties are passed as plain columns: this provider applies a naive request-body transform, so location and properties are written directly with no data__ prefix - the data__location and data__properties form used by older Azure examples fails with InvalidResource. Deleting a group is asynchronous and returns immediately; the group reports provisioning_state Deleting for some minutes while its contents are removed, so poll the list query rather than assuming completion. A resource group's location is only metadata for the group itself - resources inside it may live in other regions, which is useful when one region has no capacity for a given SKU.