#[allow(missing_docs)] #[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct StartQueryInput {
pub query_statement: ::std::option::Option<::std::string::String>,
pub delivery_s3_uri: ::std::option::Option<::std::string::String>,
pub query_alias: ::std::option::Option<::std::string::String>,
pub query_parameters: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
}
impl StartQueryInput {
pub fn query_statement(&self) -> ::std::option::Option<&str> {
self.query_statement.as_deref()
}
pub fn delivery_s3_uri(&self) -> ::std::option::Option<&str> {
self.delivery_s3_uri.as_deref()
}
pub fn query_alias(&self) -> ::std::option::Option<&str> {
self.query_alias.as_deref()
}
pub fn query_parameters(&self) -> &[::std::string::String] {
self.query_parameters.as_deref().unwrap_or_default()
}
}
impl StartQueryInput {
pub fn builder() -> crate::operation::start_query::builders::StartQueryInputBuilder {
crate::operation::start_query::builders::StartQueryInputBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct StartQueryInputBuilder {
pub(crate) query_statement: ::std::option::Option<::std::string::String>,
pub(crate) delivery_s3_uri: ::std::option::Option<::std::string::String>,
pub(crate) query_alias: ::std::option::Option<::std::string::String>,
pub(crate) query_parameters: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
}
impl StartQueryInputBuilder {
pub fn query_statement(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.query_statement = ::std::option::Option::Some(input.into());
self
}
pub fn set_query_statement(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.query_statement = input;
self
}
pub fn get_query_statement(&self) -> &::std::option::Option<::std::string::String> {
&self.query_statement
}
pub fn delivery_s3_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.delivery_s3_uri = ::std::option::Option::Some(input.into());
self
}
pub fn set_delivery_s3_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.delivery_s3_uri = input;
self
}
pub fn get_delivery_s3_uri(&self) -> &::std::option::Option<::std::string::String> {
&self.delivery_s3_uri
}
pub fn query_alias(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.query_alias = ::std::option::Option::Some(input.into());
self
}
pub fn set_query_alias(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.query_alias = input;
self
}
pub fn get_query_alias(&self) -> &::std::option::Option<::std::string::String> {
&self.query_alias
}
pub fn query_parameters(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.query_parameters.unwrap_or_default();
v.push(input.into());
self.query_parameters = ::std::option::Option::Some(v);
self
}
pub fn set_query_parameters(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.query_parameters = input;
self
}
pub fn get_query_parameters(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.query_parameters
}
pub fn build(self) -> ::std::result::Result<crate::operation::start_query::StartQueryInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::start_query::StartQueryInput {
query_statement: self.query_statement,
delivery_s3_uri: self.delivery_s3_uri,
query_alias: self.query_alias,
query_parameters: self.query_parameters,
})
}
}