0

Deploy terraform

by
Published Oct 17, 2025

You must provide a git commit id.

Script qovery Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
/**
3
 * Deploy terraform
4
 * You must provide a git commit id.
5
 */
6
export async function main(auth: RT.Qovery, terraformId: string, body: Body) {
7
	const url = new URL(`https://api.qovery.com/terraform/${terraformId}/deploy`)
8

9
	const response = await fetch(url, {
10
		method: 'POST',
11
		headers: {
12
			'Content-Type': 'application/json',
13
			Authorization: 'Token ' + auth.apiKey
14
		},
15
		body: JSON.stringify(body)
16
	})
17
	if (!response.ok) {
18
		const text = await response.text()
19
		throw new Error(`${response.status} ${text}`)
20
	}
21
	return await response.json()
22
}
23

24
/* eslint-disable */
25
/**
26
 * This file was automatically generated by json-schema-to-typescript.
27
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
28
 * and run json-schema-to-typescript to regenerate this file.
29
 */
30

31
export interface Body {
32
	/**
33
	 * Terraform service identifier
34
	 */
35
	id?: string
36
	/**
37
	 * Commit to deploy for chart source.
38
	 */
39
	git_commit_id?: string
40
	/**
41
	 * Deprecated: use action=PLAN instead.
42
	 */
43
	dry_run?: boolean
44
	/**
45
	 * Deprecated: use action=FORCE_UNLOCK instead.
46
	 */
47
	force_unlock_state?: boolean
48
	/**
49
	 * Terraform action to execute.
50
	 */
51
	action?: 'PLAN' | 'FORCE_UNLOCK' | 'MIGRATE_STATE'
52
	[k: string]: unknown
53
}
54