stackql-deploy 2.2.0

Infrastructure-as-code framework for declarative cloud resource management using StackQL
/*+ exists */
SELECT COUNT(*) as count
FROM awscc.s3.buckets_list_only
WHERE region = '{{ region }}'
AND bucket_name = '{{ bucket1_name }}';

/*+ create */
INSERT INTO awscc.s3.buckets (
 BucketName,
 VersioningConfiguration,
 Tags,
 region
)
SELECT
 '{{ bucket1_name }}',
 '{{ bucket1_versioning_config }}',
 '{{ bucket1_tags }}',
 '{{ region }}'
RETURNING *;

/*+ statecheck, retries=3, retry_delay=5 */
SELECT COUNT(*) as count FROM
(
SELECT
JSON_EQUAL(versioning_configuration, '{{ bucket1_versioning_config }}') as test_versioning_config
FROM awscc.s3.buckets
WHERE Identifier = '{{ bucket1_name }}'
AND region = '{{ region }}'
) t
WHERE test_versioning_config = 1;

/*+ update */
UPDATE awscc.s3.buckets
SET PatchDocument = string('{{ {
    "VersioningConfiguration": bucket1_versioning_config,
    "Tags": bucket1_tags
    } | generate_patch_document }}')
WHERE Identifier = '{{ bucket1_name }}'
AND region = '{{ region }}';

/*+ exports, retries=3, retry_delay=5 */
SELECT bucket_name as bucket1_name, arn as bucket1_arn
FROM awscc.s3.buckets
WHERE Identifier = '{{ bucket1_name }}'
AND region = '{{ region }}';

/*+ delete */
DELETE FROM awscc.s3.buckets
WHERE Identifier = '{{ bucket1_name }}'
AND region = '{{ region }}';