Files
coder/coderd/database/queries/workspaceresources.sql
Hugo Dutka aa0dc2daa1 chore: track terraform modules in telemetry (#15450)
Addresses https://github.com/coder/nexus/issues/35.

This PR:

- Adds a `workspace_modules` table to track modules used by the
Terraform provisioner in provisioner jobs.
- Adds a `module_path` column to the `workspace_resources` table,
allowing to identify which module a resource originates from.
- Starts pushing this new information into telemetry.

For the person reviewing this PR, do not fret about the 1,500 new lines
- ~1,000 of them are auto-generated.
2024-11-16 21:56:19 +01:00

55 lines
1.3 KiB
SQL

-- name: GetWorkspaceResourceByID :one
SELECT
*
FROM
workspace_resources
WHERE
id = $1;
-- name: GetWorkspaceResourcesByJobID :many
SELECT
*
FROM
workspace_resources
WHERE
job_id = $1;
-- name: GetWorkspaceResourcesByJobIDs :many
SELECT
*
FROM
workspace_resources
WHERE
job_id = ANY(@ids :: uuid [ ]);
-- name: GetWorkspaceResourcesCreatedAfter :many
SELECT * FROM workspace_resources WHERE created_at > $1;
-- name: InsertWorkspaceResource :one
INSERT INTO
workspace_resources (id, created_at, job_id, transition, type, name, hide, icon, instance_type, daily_cost, module_path)
VALUES
($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING *;
-- name: GetWorkspaceResourceMetadataByResourceIDs :many
SELECT
*
FROM
workspace_resource_metadata
WHERE
workspace_resource_id = ANY(@ids :: uuid [ ]) ORDER BY id ASC;
-- name: InsertWorkspaceResourceMetadata :many
INSERT INTO
workspace_resource_metadata
SELECT
@workspace_resource_id :: uuid AS workspace_resource_id,
unnest(@key :: text [ ]) AS key,
unnest(@value :: text [ ]) AS value,
unnest(@sensitive :: boolean [ ]) AS sensitive RETURNING *;
-- name: GetWorkspaceResourceMetadataCreatedAfter :many
SELECT * FROM workspace_resource_metadata WHERE workspace_resource_id = ANY(
SELECT id FROM workspace_resources WHERE created_at > $1
);