pub use crate::operation::update_thing_shadow::_update_thing_shadow_output::UpdateThingShadowOutputBuilder;
pub use crate::operation::update_thing_shadow::_update_thing_shadow_input::UpdateThingShadowInputBuilder;
#[derive(std::clone::Clone, std::fmt::Debug)]
pub struct UpdateThingShadowFluentBuilder {
handle: std::sync::Arc<crate::client::Handle>,
inner: crate::operation::update_thing_shadow::builders::UpdateThingShadowInputBuilder,
}
impl UpdateThingShadowFluentBuilder {
pub(crate) fn new(handle: std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: Default::default(),
}
}
pub async fn customize(
self,
) -> std::result::Result<
crate::client::customize::CustomizableOperation<
crate::operation::update_thing_shadow::UpdateThingShadow,
aws_http::retry::AwsResponseRetryClassifier,
>,
aws_smithy_http::result::SdkError<
crate::operation::update_thing_shadow::UpdateThingShadowError,
>,
> {
let handle = self.handle.clone();
let operation = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
Ok(crate::client::customize::CustomizableOperation { handle, operation })
}
pub async fn send(
self,
) -> std::result::Result<
crate::operation::update_thing_shadow::UpdateThingShadowOutput,
aws_smithy_http::result::SdkError<
crate::operation::update_thing_shadow::UpdateThingShadowError,
>,
> {
let op = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&self.handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
self.handle.client.call(op).await
}
pub fn thing_name(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.thing_name(input.into());
self
}
pub fn set_thing_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_thing_name(input);
self
}
pub fn shadow_name(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.shadow_name(input.into());
self
}
pub fn set_shadow_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_shadow_name(input);
self
}
pub fn payload(mut self, input: aws_smithy_types::Blob) -> Self {
self.inner = self.inner.payload(input);
self
}
pub fn set_payload(mut self, input: std::option::Option<aws_smithy_types::Blob>) -> Self {
self.inner = self.inner.set_payload(input);
self
}
}