pub use crate::operation::create_device::_create_device_output::CreateDeviceOutputBuilder;
pub use crate::operation::create_device::_create_device_input::CreateDeviceInputBuilder;
#[derive(std::clone::Clone, std::fmt::Debug)]
pub struct CreateDeviceFluentBuilder {
handle: std::sync::Arc<crate::client::Handle>,
inner: crate::operation::create_device::builders::CreateDeviceInputBuilder,
}
impl CreateDeviceFluentBuilder {
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::create_device::CreateDevice,
aws_http::retry::AwsResponseRetryClassifier,
>,
aws_smithy_http::result::SdkError<crate::operation::create_device::CreateDeviceError>,
> {
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::create_device::CreateDeviceOutput,
aws_smithy_http::result::SdkError<crate::operation::create_device::CreateDeviceError>,
> {
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 global_network_id(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.global_network_id(input.into());
self
}
pub fn set_global_network_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.inner = self.inner.set_global_network_id(input);
self
}
pub fn aws_location(mut self, input: crate::types::AwsLocation) -> Self {
self.inner = self.inner.aws_location(input);
self
}
pub fn set_aws_location(
mut self,
input: std::option::Option<crate::types::AwsLocation>,
) -> Self {
self.inner = self.inner.set_aws_location(input);
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.description(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_description(input);
self
}
pub fn r#type(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.r#type(input.into());
self
}
pub fn set_type(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_type(input);
self
}
pub fn vendor(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.vendor(input.into());
self
}
pub fn set_vendor(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_vendor(input);
self
}
pub fn model(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.model(input.into());
self
}
pub fn set_model(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_model(input);
self
}
pub fn serial_number(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.serial_number(input.into());
self
}
pub fn set_serial_number(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_serial_number(input);
self
}
pub fn location(mut self, input: crate::types::Location) -> Self {
self.inner = self.inner.location(input);
self
}
pub fn set_location(mut self, input: std::option::Option<crate::types::Location>) -> Self {
self.inner = self.inner.set_location(input);
self
}
pub fn site_id(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.site_id(input.into());
self
}
pub fn set_site_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_site_id(input);
self
}
pub fn tags(mut self, input: crate::types::Tag) -> Self {
self.inner = self.inner.tags(input);
self
}
pub fn set_tags(
mut self,
input: std::option::Option<std::vec::Vec<crate::types::Tag>>,
) -> Self {
self.inner = self.inner.set_tags(input);
self
}
}