fly_sdk/machines/
process.rs

1use serde::{Deserialize, Serialize};
2use std::collections::HashMap;
3
4#[derive(Serialize, Deserialize, Debug)]
5pub struct ProcessConfig {
6    pub cmd: Option<Vec<String>>,
7    pub entrypoint: Option<Vec<String>>,
8    pub env: Option<HashMap<String, String>>,
9    pub env_from: Option<Vec<EnvVarConfig>>,
10    pub exec: Option<Vec<String>>,
11    pub ignore_app_secrets: Option<bool>,
12    pub secrets: Option<Vec<SecretConfig>>,
13    pub user: Option<String>,
14}
15
16#[derive(Serialize, Deserialize, Debug)]
17pub struct EnvVarConfig {
18    pub env_var: String,
19    pub field_ref: FieldRefEnum,
20}
21
22#[derive(Serialize, Deserialize, Debug)]
23#[serde(rename_all = "lowercase")]
24pub enum FieldRefEnum {
25    Id,
26    Version,
27    AppName,
28    PrivateIp,
29    Region,
30    Image,
31}
32
33#[derive(Serialize, Deserialize, Debug)]
34pub struct SecretConfig {
35    pub env_var: String,
36    pub name: Option<String>,
37}
38
39#[derive(Serialize, Deserialize, Debug)]
40pub struct CommandResponse {
41    pub exit_code: Option<i32>,
42    pub exit_signal: Option<i32>,
43    pub stderr: Option<String>,
44    pub stdout: Option<String>,
45}
46
47#[derive(Serialize, Deserialize, Debug)]
48pub struct ProcessResponse {
49    pub command: Option<String>,
50    pub cpu: Option<u32>,
51    pub directory: Option<String>,
52    pub listen_sockets: Option<Vec<ListenSocket>>,
53    pub pid: Option<u32>,
54    pub rss: Option<u64>,
55    pub rtime: Option<u64>,
56    pub stime: Option<u64>,
57}
58
59#[derive(Serialize, Deserialize, Debug)]
60pub struct ListenSocket {
61    pub address: Option<String>,
62    pub proto: Option<String>,
63}