#[allow(missing_docs)] #[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct StartDeviceDiscoveryInput {
pub discovery_type: ::std::option::Option<crate::types::DiscoveryType>,
pub custom_protocol_detail: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub controller_identifier: ::std::option::Option<::std::string::String>,
#[deprecated(note = "ConnectorAssociationIdentifier is deprecated", since = "06-25-2025")]
pub connector_association_identifier: ::std::option::Option<::std::string::String>,
pub account_association_id: ::std::option::Option<::std::string::String>,
pub authentication_material: ::std::option::Option<::std::string::String>,
pub authentication_material_type: ::std::option::Option<crate::types::DiscoveryAuthMaterialType>,
pub client_token: ::std::option::Option<::std::string::String>,
#[deprecated(note = "Tags have been deprecated from this api", since = "06-25-2025")]
pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub connector_device_id_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub protocol: ::std::option::Option<crate::types::ProtocolType>,
pub end_device_identifier: ::std::option::Option<::std::string::String>,
}
impl StartDeviceDiscoveryInput {
pub fn discovery_type(&self) -> ::std::option::Option<&crate::types::DiscoveryType> {
self.discovery_type.as_ref()
}
pub fn custom_protocol_detail(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.custom_protocol_detail.as_ref()
}
pub fn controller_identifier(&self) -> ::std::option::Option<&str> {
self.controller_identifier.as_deref()
}
#[deprecated(note = "ConnectorAssociationIdentifier is deprecated", since = "06-25-2025")]
pub fn connector_association_identifier(&self) -> ::std::option::Option<&str> {
self.connector_association_identifier.as_deref()
}
pub fn account_association_id(&self) -> ::std::option::Option<&str> {
self.account_association_id.as_deref()
}
pub fn authentication_material(&self) -> ::std::option::Option<&str> {
self.authentication_material.as_deref()
}
pub fn authentication_material_type(&self) -> ::std::option::Option<&crate::types::DiscoveryAuthMaterialType> {
self.authentication_material_type.as_ref()
}
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
#[deprecated(note = "Tags have been deprecated from this api", since = "06-25-2025")]
pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.tags.as_ref()
}
pub fn connector_device_id_list(&self) -> &[::std::string::String] {
self.connector_device_id_list.as_deref().unwrap_or_default()
}
pub fn protocol(&self) -> ::std::option::Option<&crate::types::ProtocolType> {
self.protocol.as_ref()
}
pub fn end_device_identifier(&self) -> ::std::option::Option<&str> {
self.end_device_identifier.as_deref()
}
}
impl ::std::fmt::Debug for StartDeviceDiscoveryInput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("StartDeviceDiscoveryInput");
formatter.field("discovery_type", &self.discovery_type);
formatter.field("custom_protocol_detail", &self.custom_protocol_detail);
formatter.field("controller_identifier", &self.controller_identifier);
formatter.field("connector_association_identifier", &self.connector_association_identifier);
formatter.field("account_association_id", &self.account_association_id);
formatter.field("authentication_material", &"*** Sensitive Data Redacted ***");
formatter.field("authentication_material_type", &self.authentication_material_type);
formatter.field("client_token", &self.client_token);
formatter.field("tags", &"*** Sensitive Data Redacted ***");
formatter.field("connector_device_id_list", &"*** Sensitive Data Redacted ***");
formatter.field("protocol", &self.protocol);
formatter.field("end_device_identifier", &self.end_device_identifier);
formatter.finish()
}
}
impl StartDeviceDiscoveryInput {
pub fn builder() -> crate::operation::start_device_discovery::builders::StartDeviceDiscoveryInputBuilder {
crate::operation::start_device_discovery::builders::StartDeviceDiscoveryInputBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct StartDeviceDiscoveryInputBuilder {
pub(crate) discovery_type: ::std::option::Option<crate::types::DiscoveryType>,
pub(crate) custom_protocol_detail: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub(crate) controller_identifier: ::std::option::Option<::std::string::String>,
pub(crate) connector_association_identifier: ::std::option::Option<::std::string::String>,
pub(crate) account_association_id: ::std::option::Option<::std::string::String>,
pub(crate) authentication_material: ::std::option::Option<::std::string::String>,
pub(crate) authentication_material_type: ::std::option::Option<crate::types::DiscoveryAuthMaterialType>,
pub(crate) client_token: ::std::option::Option<::std::string::String>,
pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub(crate) connector_device_id_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) protocol: ::std::option::Option<crate::types::ProtocolType>,
pub(crate) end_device_identifier: ::std::option::Option<::std::string::String>,
}
impl StartDeviceDiscoveryInputBuilder {
pub fn discovery_type(mut self, input: crate::types::DiscoveryType) -> Self {
self.discovery_type = ::std::option::Option::Some(input);
self
}
pub fn set_discovery_type(mut self, input: ::std::option::Option<crate::types::DiscoveryType>) -> Self {
self.discovery_type = input;
self
}
pub fn get_discovery_type(&self) -> &::std::option::Option<crate::types::DiscoveryType> {
&self.discovery_type
}
pub fn custom_protocol_detail(
mut self,
k: impl ::std::convert::Into<::std::string::String>,
v: impl ::std::convert::Into<::std::string::String>,
) -> Self {
let mut hash_map = self.custom_protocol_detail.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.custom_protocol_detail = ::std::option::Option::Some(hash_map);
self
}
pub fn set_custom_protocol_detail(
mut self,
input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
) -> Self {
self.custom_protocol_detail = input;
self
}
pub fn get_custom_protocol_detail(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.custom_protocol_detail
}
pub fn controller_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.controller_identifier = ::std::option::Option::Some(input.into());
self
}
pub fn set_controller_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.controller_identifier = input;
self
}
pub fn get_controller_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.controller_identifier
}
#[deprecated(note = "ConnectorAssociationIdentifier is deprecated", since = "06-25-2025")]
pub fn connector_association_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.connector_association_identifier = ::std::option::Option::Some(input.into());
self
}
#[deprecated(note = "ConnectorAssociationIdentifier is deprecated", since = "06-25-2025")]
pub fn set_connector_association_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.connector_association_identifier = input;
self
}
#[deprecated(note = "ConnectorAssociationIdentifier is deprecated", since = "06-25-2025")]
pub fn get_connector_association_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.connector_association_identifier
}
pub fn account_association_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.account_association_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_account_association_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.account_association_id = input;
self
}
pub fn get_account_association_id(&self) -> &::std::option::Option<::std::string::String> {
&self.account_association_id
}
pub fn authentication_material(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.authentication_material = ::std::option::Option::Some(input.into());
self
}
pub fn set_authentication_material(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.authentication_material = input;
self
}
pub fn get_authentication_material(&self) -> &::std::option::Option<::std::string::String> {
&self.authentication_material
}
pub fn authentication_material_type(mut self, input: crate::types::DiscoveryAuthMaterialType) -> Self {
self.authentication_material_type = ::std::option::Option::Some(input);
self
}
pub fn set_authentication_material_type(mut self, input: ::std::option::Option<crate::types::DiscoveryAuthMaterialType>) -> Self {
self.authentication_material_type = input;
self
}
pub fn get_authentication_material_type(&self) -> &::std::option::Option<crate::types::DiscoveryAuthMaterialType> {
&self.authentication_material_type
}
pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.client_token = ::std::option::Option::Some(input.into());
self
}
pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.client_token = input;
self
}
pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_token
}
#[deprecated(note = "Tags have been deprecated from this api", since = "06-25-2025")]
pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = ::std::option::Option::Some(hash_map);
self
}
#[deprecated(note = "Tags have been deprecated from this api", since = "06-25-2025")]
pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
self.tags = input;
self
}
#[deprecated(note = "Tags have been deprecated from this api", since = "06-25-2025")]
pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.tags
}
pub fn connector_device_id_list(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.connector_device_id_list.unwrap_or_default();
v.push(input.into());
self.connector_device_id_list = ::std::option::Option::Some(v);
self
}
pub fn set_connector_device_id_list(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.connector_device_id_list = input;
self
}
pub fn get_connector_device_id_list(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.connector_device_id_list
}
pub fn protocol(mut self, input: crate::types::ProtocolType) -> Self {
self.protocol = ::std::option::Option::Some(input);
self
}
pub fn set_protocol(mut self, input: ::std::option::Option<crate::types::ProtocolType>) -> Self {
self.protocol = input;
self
}
pub fn get_protocol(&self) -> &::std::option::Option<crate::types::ProtocolType> {
&self.protocol
}
pub fn end_device_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.end_device_identifier = ::std::option::Option::Some(input.into());
self
}
pub fn set_end_device_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.end_device_identifier = input;
self
}
pub fn get_end_device_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.end_device_identifier
}
pub fn build(
self,
) -> ::std::result::Result<crate::operation::start_device_discovery::StartDeviceDiscoveryInput, ::aws_smithy_types::error::operation::BuildError>
{
::std::result::Result::Ok(crate::operation::start_device_discovery::StartDeviceDiscoveryInput {
discovery_type: self.discovery_type,
custom_protocol_detail: self.custom_protocol_detail,
controller_identifier: self.controller_identifier,
connector_association_identifier: self.connector_association_identifier,
account_association_id: self.account_association_id,
authentication_material: self.authentication_material,
authentication_material_type: self.authentication_material_type,
client_token: self.client_token,
tags: self.tags,
connector_device_id_list: self.connector_device_id_list,
protocol: self.protocol,
end_device_identifier: self.end_device_identifier,
})
}
}
impl ::std::fmt::Debug for StartDeviceDiscoveryInputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("StartDeviceDiscoveryInputBuilder");
formatter.field("discovery_type", &self.discovery_type);
formatter.field("custom_protocol_detail", &self.custom_protocol_detail);
formatter.field("controller_identifier", &self.controller_identifier);
formatter.field("connector_association_identifier", &self.connector_association_identifier);
formatter.field("account_association_id", &self.account_association_id);
formatter.field("authentication_material", &"*** Sensitive Data Redacted ***");
formatter.field("authentication_material_type", &self.authentication_material_type);
formatter.field("client_token", &self.client_token);
formatter.field("tags", &"*** Sensitive Data Redacted ***");
formatter.field("connector_device_id_list", &"*** Sensitive Data Redacted ***");
formatter.field("protocol", &self.protocol);
formatter.field("end_device_identifier", &self.end_device_identifier);
formatter.finish()
}
}