diff --git a/crates/dagger-codegen/src/rust/templates/enum_tmpl.rs b/crates/dagger-codegen/src/rust/templates/enum_tmpl.rs index cc52743..e0df6c9 100644 --- a/crates/dagger-codegen/src/rust/templates/enum_tmpl.rs +++ b/crates/dagger-codegen/src/rust/templates/enum_tmpl.rs @@ -26,9 +26,10 @@ fn render_enum_values(values: &FullType) -> Option { pub fn render_enum(t: &FullType) -> eyre::Result { let serialize = rust::import("serde", "Serialize"); + let deserialize = rust::import("serde", "Deserialize"); Ok(quote! { - #[derive($serialize, Clone, PartialEq, Debug)] + #[derive($serialize, $deserialize, Clone, PartialEq, Debug)] pub enum $(t.name.as_ref()) { $(render_enum_values(t)) } diff --git a/crates/dagger-sdk/src/gen.rs b/crates/dagger-sdk/src/gen.rs index fffdeb0..34f2a97 100644 --- a/crates/dagger-sdk/src/gen.rs +++ b/crates/dagger-sdk/src/gen.rs @@ -34,7 +34,7 @@ pub struct CacheVolume { impl CacheVolume { pub async fn id(&self) -> eyre::Result { - let mut query = self.selection.select("id"); + let query = self.selection.select("id"); query.execute(&graphql_client(&self.conn)).await } @@ -228,7 +228,7 @@ impl Container { } /// Retrieves default arguments for future commands. pub async fn default_args(&self) -> eyre::Result> { - let mut query = self.selection.select("defaultArgs"); + let query = self.selection.select("defaultArgs"); query.execute(&graphql_client(&self.conn)).await } @@ -257,7 +257,7 @@ impl Container { /// /// * `opt` - optional argument, see inner type for documentation, use _opts to use pub async fn endpoint(&self) -> eyre::Result { - let mut query = self.selection.select("endpoint"); + let query = self.selection.select("endpoint"); query.execute(&graphql_client(&self.conn)).await } @@ -283,7 +283,7 @@ impl Container { } /// Retrieves entrypoint to be prepended to the arguments of all commands. pub async fn entrypoint(&self) -> eyre::Result> { - let mut query = self.selection.select("entrypoint"); + let query = self.selection.select("entrypoint"); query.execute(&graphql_client(&self.conn)).await } @@ -301,7 +301,7 @@ impl Container { } /// Retrieves the list of environment variables passed to commands. pub fn env_variables(&self) -> Vec { - let mut query = self.selection.select("envVariables"); + let query = self.selection.select("envVariables"); return vec![EnvVariable { proc: self.proc.clone(), @@ -315,7 +315,7 @@ impl Container { /// /// * `opt` - optional argument, see inner type for documentation, use _opts to use pub fn exec(&self) -> Container { - let mut query = self.selection.select("exec"); + let query = self.selection.select("exec"); return Container { proc: self.proc.clone(), @@ -360,7 +360,7 @@ impl Container { /// Exit code of the last executed command. Zero means success. /// Null if no command has been executed. pub async fn exit_code(&self) -> eyre::Result { - let mut query = self.selection.select("exitCode"); + let query = self.selection.select("exitCode"); query.execute(&graphql_client(&self.conn)).await } @@ -406,7 +406,7 @@ impl Container { } /// Retrieves the list of exposed ports pub fn exposed_ports(&self) -> Vec { - let mut query = self.selection.select("exposedPorts"); + let query = self.selection.select("exposedPorts"); return vec![Port { proc: self.proc.clone(), @@ -451,7 +451,7 @@ impl Container { } /// Retrieves this container's root filesystem. Mounts are not included. pub fn fs(&self) -> Directory { - let mut query = self.selection.select("fs"); + let query = self.selection.select("fs"); return Directory { proc: self.proc.clone(), @@ -461,19 +461,19 @@ impl Container { } /// Retrieves a hostname which can be used by clients to reach this container. pub async fn hostname(&self) -> eyre::Result { - let mut query = self.selection.select("hostname"); + let query = self.selection.select("hostname"); query.execute(&graphql_client(&self.conn)).await } /// A unique identifier for this container. pub async fn id(&self) -> eyre::Result { - let mut query = self.selection.select("id"); + let query = self.selection.select("id"); query.execute(&graphql_client(&self.conn)).await } /// The unique image reference which can only be retrieved immediately after the 'Container.From' call. pub async fn image_ref(&self) -> eyre::Result { - let mut query = self.selection.select("imageRef"); + let query = self.selection.select("imageRef"); query.execute(&graphql_client(&self.conn)).await } @@ -487,7 +487,7 @@ impl Container { } /// Retrieves the list of labels passed to container. pub fn labels(&self) -> Vec