stackql-deploy 2.2.0

Infrastructure-as-code framework for declarative cloud resource management using StackQL
/*+ createorupdate */
INSERT INTO azure.network.virtual_networks(
   virtual_network_name,
   resource_group_name,
   subscription_id,
   location,
   properties,
   tags
)
SELECT
   '{{ vnet_name }}',
   '{{ resource_group_name }}',
   '{{ subscription_id }}',
   '{{ location }}',
   '{"addressSpace": {"addressPrefixes":["{{ vnet_cidr_block }}"]}}',
   '{{ global_tags }}'

/*+ statecheck, retries=5, retry_delay=5 */
SELECT COUNT(*) as count FROM azure.network.virtual_networks
WHERE subscription_id = '{{ subscription_id }}'
AND resource_group_name = '{{ resource_group_name }}'
AND virtual_network_name = '{{ vnet_name }}'
AND JSON_EXTRACT(address_space, '$.addressPrefixes[0]') = '{{ vnet_cidr_block }}'

/*+ exports */
SELECT '{{ vnet_name }}' as vnet_name,
'{{ vnet_cidr_block }}' as vnet_cidr_block

/*+ delete */
DELETE FROM azure.network.virtual_networks
WHERE subscription_id = '{{ subscription_id }}'
AND resource_group_name = '{{ resource_group_name }}'
AND virtual_network_name = '{{ vnet_name }}'