pub struct MachineConfigBuilder { /* private fields */ }Implementations§
Source§impl MachineConfigBuilder
impl MachineConfigBuilder
pub fn new() -> Self
Sourcepub fn image(self, image: &str) -> Self
pub fn image(self, image: &str) -> Self
Examples found in repository?
examples/machines.rs (line 34)
7async fn main() -> Result<(), Box<dyn Error>> {
8 tracing_subscriber::registry()
9 .with(fmt::layer().with_writer(std::io::stdout))
10 .with(EnvFilter::new(
11 std::env::var("RUST_LOG").unwrap_or_else(|_| "info".into()),
12 ))
13 .init();
14 let api_token = std::env::var("FLY_ORG_TOKEN").expect("FLY_ORG_TOKEN must be set");
15 let args: Vec<String> = std::env::args().collect();
16 let org_slug = &args
17 .get(1)
18 .expect("Usage: cargo run --example apps <org_slug>");
19
20 let app_name = "rusty-app";
21 let machine_id = "machine-name";
22 let app_image = "ubuntu:20.04";
23 let fly = FlyControl::new(api_token.to_string());
24
25 fly.apps.create(app_name, org_slug).await?;
26
27 // MACHINES
28 // create a machine
29 let response = fly
30 .machines
31 .create(
32 app_name,
33 machines::MachineRequest::new(
34 machines::MachineConfig::builder().image(app_image).build(),
35 Some(machine_id.to_string()),
36 Some(machines::MachineRegions::Iad),
37 ),
38 )
39 .await?;
40 info!("Created machine: {:?}", response.id);
41 let did = &response.id.unwrap();
42 let iid: &String = &response.instance_id.unwrap();
43
44 // wait for start state
45 fly.machines
46 .wait_for_machine_state(app_name, did, machines::MachineState::Started, None, None)
47 .await?;
48
49 // list machines
50 fly.machines.list(app_name).await?;
51
52 // stop/start machine
53 fly.machines.stop(app_name, did, iid).await?;
54 fly.machines.start(app_name, did).await?;
55
56 // list events/processes
57 let events = fly.machines.list_events(app_name, did).await?;
58 info!("Events: {:?}", events);
59 let processes = fly.machines.list_processes(app_name, did).await?;
60 info!("Processes: {:?}", processes);
61
62 // execute command
63 let resp = fly
64 .machines
65 .execute_command(
66 app_name,
67 did,
68 vec!["sh", "-c", "which echo && /bin/echo 'Hello, World!'"],
69 None,
70 )
71 .await?;
72 info!("Command response: {:?}", resp);
73
74 // restart/update machine
75 fly.machines.restart_machine(app_name, did, iid).await?;
76 fly.machines
77 .update_machine(
78 app_name,
79 did,
80 iid,
81 machines::MachineRequest::new(
82 machines::MachineConfig::builder().image(app_image).build(),
83 Some("foo".to_string()),
84 Some(machines::MachineRegions::Ams),
85 ),
86 )
87 .await?;
88
89 // delete machine/app
90 fly.machines.delete(app_name, did, true).await?;
91 fly.apps.delete(app_name, false).await?;
92
93 Ok(())
94}pub fn auto_destroy(self, auto_destroy: bool) -> Self
pub fn restart_policy( self, policy: RestartPolicyEnum, max_retries: Option<u32>, gpu_bid_price: Option<f64>, ) -> Self
pub fn cpus(self, cpus: u64) -> Self
pub fn memory(self, memory_mb: u64) -> Self
pub fn cpu_kind(self, cpu_kind: CpuKind) -> Self
pub fn gpus(self, gpus: u64) -> Self
pub fn gpu_kind(self, gpu_kind: GpuKind) -> Self
pub fn checks(self, config: Checks) -> Self
pub fn dns(self, dns_config: DnsConfig) -> Self
pub fn add_env(self, key: &str, value: &str) -> Self
pub fn add_file(self, file_config: FileConfig) -> Self
pub fn init(self, init_config: InitConfig) -> Self
pub fn metrics(self, metrics_config: MetricsConfig) -> Self
pub fn add_mount(self, mount_config: MountConfig) -> Self
pub fn add_process(self, process_config: ProcessConfig) -> Self
pub fn schedule(self, schedule: &str) -> Self
pub fn add_service(self, service_config: ServiceConfig) -> Self
pub fn add_standby(self, standby: &str) -> Self
pub fn add_static(self, static_config: StaticConfig) -> Self
pub fn stop_config(self, stop_config: StopConfig) -> Self
Sourcepub fn build(self) -> MachineConfig
pub fn build(self) -> MachineConfig
Examples found in repository?
examples/machines.rs (line 34)
7async fn main() -> Result<(), Box<dyn Error>> {
8 tracing_subscriber::registry()
9 .with(fmt::layer().with_writer(std::io::stdout))
10 .with(EnvFilter::new(
11 std::env::var("RUST_LOG").unwrap_or_else(|_| "info".into()),
12 ))
13 .init();
14 let api_token = std::env::var("FLY_ORG_TOKEN").expect("FLY_ORG_TOKEN must be set");
15 let args: Vec<String> = std::env::args().collect();
16 let org_slug = &args
17 .get(1)
18 .expect("Usage: cargo run --example apps <org_slug>");
19
20 let app_name = "rusty-app";
21 let machine_id = "machine-name";
22 let app_image = "ubuntu:20.04";
23 let fly = FlyControl::new(api_token.to_string());
24
25 fly.apps.create(app_name, org_slug).await?;
26
27 // MACHINES
28 // create a machine
29 let response = fly
30 .machines
31 .create(
32 app_name,
33 machines::MachineRequest::new(
34 machines::MachineConfig::builder().image(app_image).build(),
35 Some(machine_id.to_string()),
36 Some(machines::MachineRegions::Iad),
37 ),
38 )
39 .await?;
40 info!("Created machine: {:?}", response.id);
41 let did = &response.id.unwrap();
42 let iid: &String = &response.instance_id.unwrap();
43
44 // wait for start state
45 fly.machines
46 .wait_for_machine_state(app_name, did, machines::MachineState::Started, None, None)
47 .await?;
48
49 // list machines
50 fly.machines.list(app_name).await?;
51
52 // stop/start machine
53 fly.machines.stop(app_name, did, iid).await?;
54 fly.machines.start(app_name, did).await?;
55
56 // list events/processes
57 let events = fly.machines.list_events(app_name, did).await?;
58 info!("Events: {:?}", events);
59 let processes = fly.machines.list_processes(app_name, did).await?;
60 info!("Processes: {:?}", processes);
61
62 // execute command
63 let resp = fly
64 .machines
65 .execute_command(
66 app_name,
67 did,
68 vec!["sh", "-c", "which echo && /bin/echo 'Hello, World!'"],
69 None,
70 )
71 .await?;
72 info!("Command response: {:?}", resp);
73
74 // restart/update machine
75 fly.machines.restart_machine(app_name, did, iid).await?;
76 fly.machines
77 .update_machine(
78 app_name,
79 did,
80 iid,
81 machines::MachineRequest::new(
82 machines::MachineConfig::builder().image(app_image).build(),
83 Some("foo".to_string()),
84 Some(machines::MachineRegions::Ams),
85 ),
86 )
87 .await?;
88
89 // delete machine/app
90 fly.machines.delete(app_name, did, true).await?;
91 fly.apps.delete(app_name, false).await?;
92
93 Ok(())
94}Auto Trait Implementations§
impl Freeze for MachineConfigBuilder
impl RefUnwindSafe for MachineConfigBuilder
impl Send for MachineConfigBuilder
impl Sync for MachineConfigBuilder
impl Unpin for MachineConfigBuilder
impl UnwindSafe for MachineConfigBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more