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.credentials
WHERE account_id = '{{ databricks_account_id }}'
AND credentials_name = '{{ credentials_name }}'

/*+ create */
INSERT INTO databricks_account.provisioning.credentials (
account_id,
credentials_name,
aws_credentials
)
SELECT 
'{{ databricks_account_id }}',
'{{ credentials_name }}',
'{{ aws_credentials }}'

/*+ statecheck, retries=3, retry_delay=5 */
SELECT COUNT(*) as count FROM
(
SELECT 
credentials_id
FROM databricks_account.provisioning.credentials
WHERE account_id = '{{ databricks_account_id }}'
AND credentials_name = '{{ credentials_name }}'
AND JSON_EXTRACT(aws_credentials, '$.sts_role.role_arn') = '{{ aws_iam_cross_account_role_arn }}'
) t

/*+ exports */
SELECT 
'{{ credentials_name }}' as databricks_credentials_name,
credentials_id as databricks_credentials_id,
JSON_EXTRACT(aws_credentials, '$.sts_role.external_id') as databricks_role_external_id
FROM databricks_account.provisioning.credentials
WHERE account_id = '{{ databricks_account_id }}'
AND credentials_name = '{{ credentials_name }}'

/*+ delete */
DELETE FROM databricks_account.provisioning.credentials
WHERE account_id = '{{ databricks_account_id }}' AND
credentials_id = '{{ databricks_credentials_id }}';