1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
use serde::{Deserialize, Serialize};
use serde_json::Value;
use super::variable::Variable;
/// Func
#[derive(Debug, Serialize, Deserialize, Clone, Default, PartialEq)]
pub struct Func {
/// Function ID.
#[serde(rename = "$id")]
pub id: String,
/// Function creation date in ISO 8601 format.
#[serde(rename = "$createdAt")]
pub created_at: String,
/// Function update date in ISO 8601 format.
#[serde(rename = "$updatedAt")]
pub updated_at: String,
/// Execution permissions.
pub execute: Vec<Value>,
/// Function name.
pub name: String,
/// Function enabled.
pub enabled: bool,
/// Is the function deployed with the latest configuration? This is set to false if you've changed an environment variables, entrypoint, commands, or other settings that needs redeploy to be applied. When the value is false, redeploy the function to update it with the latest configuration.
pub live: bool,
/// Whether executions will be logged. When set to false, executions will not be logged, but will reduce resource used by your Appwrite project.
pub logging: bool,
/// Function execution runtime.
pub runtime: String,
/// Function's active deployment ID.
pub deployment: String,
/// Allowed permission scopes.
pub scopes: Vec<Value>,
/// Function variables.
pub vars: Vec<Variable>,
/// Function trigger events.
pub events: Vec<Value>,
/// Function execution schedult in CRON format.
pub schedule: String,
/// Function execution timeout in seconds.
pub timeout: u64,
/// The entrypoint file used to execute the deployment.
pub entrypoint: String,
/// The build command used to build the deployment.
pub commands: String,
/// Version of Open Runtimes used for the function.
pub version: String,
/// Function VCS (Version Control System) installation id.
#[serde(rename = "installationId")]
pub installation_id: String,
/// VCS (Version Control System) Repository ID
#[serde(rename = "providerRepositoryId")]
pub provider_repository_id: String,
/// VCS (Version Control System) branch name
#[serde(rename = "providerBranch")]
pub provider_branch: String,
/// Path to function in VCS (Version Control System) repository
#[serde(rename = "providerRootDirectory")]
pub provider_root_directory: String,
/// Is VCS (Version Control System) connection is in silent mode? When in silence mode, no comments will be posted on the repository pull or merge requests
#[serde(rename = "providerSilentMode")]
pub provider_silent_mode: bool,
/// Machine specification for builds and executions.
pub specification: String,
}