stackql-deploy 2.2.0

Infrastructure-as-code framework for declarative cloud resource management using StackQL
/*+ createorupdate */
INSERT INTO azure.compute.virtual_machine_extensions(
  resource_group_name,
  subscription_id,
  vm_extension_name,
  vm_name,
  location,
  properties,
  tags
)
SELECT
  '{{ resource_group_name }}',
  '{{ subscription_id }}',
  '{{ vm_ext_name }}',
  '{{ vm_name }}',
  '{{ location }}',
  '{ "publisher": "Microsoft.Azure.Extensions", "type": "CustomScript", "typeHandlerVersion": "2.1", "settings": { "commandToExecute": "{{ command_to_execute }}"} }',
  '{{ global_tags }}';

/*+ statecheck, retries=5, retry_delay=5 */
SELECT COUNT(*) as count
FROM azure.compute.virtual_machine_extensions
WHERE subscription_id = '{{ subscription_id }}'
AND resource_group_name = '{{ resource_group_name }}'
AND vm_extension_name = '{{ vm_ext_name }}'
AND vm_name = '{{ vm_name }}'

/*+ exports */
SELECT 'http://' || '{{ public_ip_address }}' || ':8080' as web_url

/*+ delete */
DELETE FROM azure.compute.virtual_machine_extensions
WHERE subscription_id = '{{ subscription_id }}'
AND resource_group_name = '{{ resource_group_name }}'
AND vm_extension_name = '{{ vm_ext_name }}'
AND vm_name = '{{ vm_name }}'