superposition_sdk 0.100.2

Rust SDK to work with Superposition
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct TestOutput  {
    #[allow(missing_docs)] // documentation missing in model
    pub fn_output: ::aws_smithy_types::Document,
    #[allow(missing_docs)] // documentation missing in model
    pub stdout: ::std::string::String,
    #[allow(missing_docs)] // documentation missing in model
    pub function_type: crate::types::FunctionTypes,
}
impl  TestOutput  {
    #[allow(missing_docs)] // documentation missing in model
    pub fn fn_output(&self) -> &::aws_smithy_types::Document {
        &self.fn_output
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn stdout(&self) -> &str {
        use std::ops::Deref; self.stdout.deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn function_type(&self) -> &crate::types::FunctionTypes {
        &self.function_type
    }
}
impl TestOutput {
    /// Creates a new builder-style object to manufacture [`TestOutput`](crate::operation::test::TestOutput).
    pub fn builder() -> crate::operation::test::builders::TestOutputBuilder {
        crate::operation::test::builders::TestOutputBuilder::default()
    }
}

/// A builder for [`TestOutput`](crate::operation::test::TestOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct TestOutputBuilder {
    pub(crate) fn_output: ::std::option::Option<::aws_smithy_types::Document>,
    pub(crate) stdout: ::std::option::Option<::std::string::String>,
    pub(crate) function_type: ::std::option::Option<crate::types::FunctionTypes>,
}
impl TestOutputBuilder {
    #[allow(missing_docs)] // documentation missing in model
    /// This field is required.
    pub fn fn_output(mut self, input: ::aws_smithy_types::Document) -> Self {
        self.fn_output = ::std::option::Option::Some(input);
        self
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn set_fn_output(mut self, input: ::std::option::Option<::aws_smithy_types::Document>) -> Self {
        self.fn_output = input; self
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn get_fn_output(&self) -> &::std::option::Option<::aws_smithy_types::Document> {
        &self.fn_output
    }
    #[allow(missing_docs)] // documentation missing in model
    /// This field is required.
    pub fn stdout(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.stdout = ::std::option::Option::Some(input.into());
        self
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn set_stdout(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.stdout = input; self
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn get_stdout(&self) -> &::std::option::Option<::std::string::String> {
        &self.stdout
    }
    #[allow(missing_docs)] // documentation missing in model
    /// This field is required.
    pub fn function_type(mut self, input: crate::types::FunctionTypes) -> Self {
        self.function_type = ::std::option::Option::Some(input);
        self
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn set_function_type(mut self, input: ::std::option::Option<crate::types::FunctionTypes>) -> Self {
        self.function_type = input; self
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn get_function_type(&self) -> &::std::option::Option<crate::types::FunctionTypes> {
        &self.function_type
    }
    /// Consumes the builder and constructs a [`TestOutput`](crate::operation::test::TestOutput).
    /// This method will fail if any of the following fields are not set:
    /// - [`fn_output`](crate::operation::test::builders::TestOutputBuilder::fn_output)
    /// - [`stdout`](crate::operation::test::builders::TestOutputBuilder::stdout)
    /// - [`function_type`](crate::operation::test::builders::TestOutputBuilder::function_type)
    pub fn build(self) -> ::std::result::Result<crate::operation::test::TestOutput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(
            crate::operation::test::TestOutput {
                fn_output: self.fn_output
                    .ok_or_else(||
                        ::aws_smithy_types::error::operation::BuildError::missing_field("fn_output", "fn_output was not specified but it is required when building TestOutput")
                    )?
                ,
                stdout: self.stdout
                    .ok_or_else(||
                        ::aws_smithy_types::error::operation::BuildError::missing_field("stdout", "stdout was not specified but it is required when building TestOutput")
                    )?
                ,
                function_type: self.function_type
                    .ok_or_else(||
                        ::aws_smithy_types::error::operation::BuildError::missing_field("function_type", "function_type was not specified but it is required when building TestOutput")
                    )?
                ,
            }
        )
    }
}