/*+ createorupdate */
INSERT INTO azure.compute.virtual_machines(
resource_group_name,
subscription_id,
vm_name,
location,
properties,
tags
)
SELECT
'{{ resource_group_name }}',
'{{ subscription_id }}',
'{{ vm_name }}',
'{{ location }}',
'{"hardwareProfile": {{ hardwareProfile }}, "storageProfile": {{ storageProfile }}, "osProfile": {{ osProfile }}, "networkProfile": {{ networkProfile }}}',
'{{ global_tags }}';
/*+ statecheck, retries=5, retry_delay=5 */
SELECT COUNT(*) as count
FROM azure.compute.virtual_machines
WHERE subscription_id = '{{ subscription_id }}'
AND resource_group_name = '{{ resource_group_name }}'
AND vm_name = '{{ vm_name }}'
AND provisioning_state = 'Succeeded'
/*+ exports */
SELECT vm_id, '{{ vm_name }}' as vm_name
FROM azure.compute.virtual_machines
WHERE subscription_id = '{{ subscription_id }}'
AND resource_group_name = '{{ resource_group_name }}'
AND vm_name = '{{ vm_name }}'
/*+ delete */
DELETE FROM azure.compute.virtual_machines
WHERE subscription_id = '{{ subscription_id }}'
AND resource_group_name = '{{ resource_group_name }}'
AND vm_name = '{{ vm_name }}'