stackql-deploy 2.2.0

Infrastructure-as-code framework for declarative cloud resource management using StackQL
/*+ exists */
SELECT count(*) as count
FROM databricks_account.provisioning.workspaces
WHERE account_id = '{{ account_id }}'
AND workspace_name = '{{ workspace_name }}';

/*+ create */
INSERT INTO databricks_account.provisioning.workspaces (
aws_region,
credentials_id,
pricing_tier,
storage_configuration_id,
workspace_name,
account_id
)
SELECT 
'{{ aws_region }}',
'{{ credentials_id }}',
'{{ pricing_tier }}',
'{{ storage_configuration_id }}',
'{{ workspace_name }}',
'{{ account_id }}'
;

/*+ update */
UPDATE databricks_account.provisioning.workspaces
SET customer_facing_workspace = '{{ {
    "credentials_id": credentials_id,
    "storage_configuration_id": storage_configuration_id,
    "compute_mode": compute_mode,
    "pricing_tier": pricing_tier
} | generate_patch_document }}'
WHERE account_id = '{{ account_id }}'
AND workspace_id IN (
    SELECT workspace_id
    FROM databricks_account.provisioning.workspaces
    WHERE account_id = '{{ account_id }}'
    AND workspace_name = '{{ workspace_name }}'
)
AND update_mask = 'credentials_id,storage_configuration_id,compute_mode,pricing_tier';

/*+ statecheck, retries=5, retry_delay=10 */
SELECT count(*) as count
FROM databricks_account.provisioning.workspaces
WHERE 
credentials_id = '{{ credentials_id }}' AND
storage_configuration_id = '{{ storage_configuration_id }}' AND
workspace_name = '{{ workspace_name }}' AND
aws_region = '{{ aws_region }}' AND
pricing_tier = '{{ pricing_tier }}' AND
account_id = '{{ account_id }}';

/*+ exports */
SELECT 
workspace_name,
workspace_id,
deployment_name,
workspace_status,
'https://' || deployment_name || '.cloud.databricks.com' AS workspace_url
FROM databricks_account.provisioning.workspaces
WHERE account_id = '{{ account_id }}'
AND workspace_name = '{{ workspace_name }}';

/*+ delete */
DELETE FROM databricks_account.provisioning.workspaces
WHERE account_id = '{{ account_id }}'
AND workspace_id = '{{ workspace_id }}';