CREATE VIEW runs_history AS
SELECT
"terraform_cloud"."workspaces"."attributes"."name",
"terraform_cloud"."runs"."id",
"terraform_cloud"."runs"."attributes"."status",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."created-at"), '%Y-%m-%d %H:%i:%S') as "created-at",
date_format(from_iso8601_timestamp(CASE
WHEN "terraform_cloud"."runs"."attributes"."status" = 'policy_checking' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."cost-estimated-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'policy_override' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."cost-estimated-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'policy_soft_failed' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."cost-estimated-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'plan_queued' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."plan-queued-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'planning' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."planning-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'planned' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."planned-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'cost_estimating' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."cost-estimating-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'cost_estimated' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."cost-estimated-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'policy_checked' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."policy-checked-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'confirmed' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."confirmed-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'planned_and_finished' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."planned-and-finished-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'apply_queued' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."apply-queued-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'applying' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."applying-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'applied' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."applied-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'discarded' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."discarded-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'errored' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."errored-at"
WHEN "terraform_cloud"."runs"."attributes"."status" = 'canceled' THEN CASE
WHEN "terraform_cloud"."runs"."attributes"."status-timestamps"."canceled-at" IS null THEN "terraform_cloud"."runs"."attributes"."canceled-at"
ELSE "terraform_cloud"."runs"."attributes"."status-timestamps"."canceled-at"
END
WHEN "terraform_cloud"."runs"."attributes"."status" = 'force_canceled' THEN "terraform_cloud"."runs"."attributes"."status-timestamps"."force-canceled-at"
END), '%Y-%m-%d %H:%i:%S') as "end-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."plan-queued-at"), '%Y-%m-%d %H:%i:%S') as "plan-queued-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."planning-at"), '%Y-%m-%d %H:%i:%S') as "planning-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."planned-at"), '%Y-%m-%d %H:%i:%S') as "planned-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."cost-estimating-at"), '%Y-%m-%d %H:%i:%S') as "cost-estimating-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."cost-estimated-at"), '%Y-%m-%d %H:%i:%S') as "cost-estimated-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."policy-checked-at"), '%Y-%m-%d %H:%i:%S') as "policy-checked-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."confirmed-at"), '%Y-%m-%d %H:%i:%S') as "confirmed-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."planned-and-finished-at"), '%Y-%m-%d %H:%i:%S') as "planned-and-finished-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."apply-queued-at"), '%Y-%m-%d %H:%i:%S') as "apply-queued-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."applying-at"), '%Y-%m-%d %H:%i:%S') as "applying-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."applied-at"), '%Y-%m-%d %H:%i:%S') as "applied-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."discarded-at"), '%Y-%m-%d %H:%i:%S') as "discarded-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."errored-at"), '%Y-%m-%d %H:%i:%S') as "errored-at",
date_format(from_iso8601_timestamp(CASE
WHEN "terraform_cloud"."runs"."attributes"."status-timestamps"."canceled-at" IS null THEN "terraform_cloud"."runs"."attributes"."canceled-at"
ELSE "terraform_cloud"."runs"."attributes"."status-timestamps"."canceled-at"
END), '%Y-%m-%d %H:%i:%S') as "canceled-at",
date_format(from_iso8601_timestamp("terraform_cloud"."runs"."attributes"."status-timestamps"."force-canceled-at"), '%Y-%m-%d %H:%i:%S') as "force-canceled-at"
FROM "terraform_cloud"."runs"
LEFT JOIN "terraform_cloud"."workspaces" ON
"terraform_cloud"."runs"."relationships"."workspace"."data"."id" = "terraform_cloud"."workspaces"."id"
ORDER BY "terraform_cloud"."runs"."attributes"."created-at" ASC
;