#[derive(Debug)]
pub(crate) struct Handle {
pub(crate) conf: crate::Config,
#[allow(dead_code)] pub(crate) runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
}
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct Client {
handle: ::std::sync::Arc<Handle>,
}
impl Client {
#[track_caller]
pub fn from_conf(conf: crate::Config) -> Self {
let handle = Handle {
conf: conf.clone(),
runtime_plugins: crate::config::base_client_runtime_plugins(conf),
};
if let Err(err) = Self::validate_config(&handle) {
panic!("Invalid client configuration: {err}");
}
Self {
handle: ::std::sync::Arc::new(handle),
}
}
pub fn config(&self) -> &crate::Config {
&self.handle.conf
}
fn validate_config(handle: &Handle) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
let mut cfg = ::aws_smithy_types::config_bag::ConfigBag::base();
handle
.runtime_plugins
.apply_client_configuration(&mut cfg)?
.validate_base_client_config(&cfg)?;
Ok(())
}
}
impl Client {
#[track_caller]
pub fn new(sdk_config: &::aws_types::sdk_config::SdkConfig) -> Self {
Self::from_conf(sdk_config.into())
}
}
mod create_credential_locker;
mod create_destination;
mod create_event_log_configuration;
mod create_managed_thing;
mod create_notification_configuration;
mod create_ota_task;
mod create_ota_task_configuration;
mod create_provisioning_profile;
pub mod customize;
mod delete_credential_locker;
mod delete_destination;
mod delete_event_log_configuration;
mod delete_managed_thing;
mod delete_notification_configuration;
mod delete_ota_task;
mod delete_ota_task_configuration;
mod delete_provisioning_profile;
mod get_credential_locker;
mod get_custom_endpoint;
mod get_default_encryption_configuration;
mod get_destination;
mod get_device_discovery;
mod get_event_log_configuration;
mod get_hub_configuration;
mod get_managed_thing;
mod get_managed_thing_capabilities;
mod get_managed_thing_connectivity_data;
mod get_managed_thing_meta_data;
mod get_managed_thing_state;
mod get_notification_configuration;
mod get_ota_task;
mod get_ota_task_configuration;
mod get_provisioning_profile;
mod get_runtime_log_configuration;
mod get_schema_version;
mod list_credential_lockers;
mod list_destinations;
mod list_event_log_configurations;
mod list_managed_thing_schemas;
mod list_managed_things;
mod list_notification_configurations;
mod list_ota_task_configurations;
mod list_ota_task_executions;
mod list_ota_tasks;
mod list_provisioning_profiles;
mod list_schema_versions;
mod put_default_encryption_configuration;
mod put_hub_configuration;
mod put_runtime_log_configuration;
mod register_custom_endpoint;
mod reset_runtime_log_configuration;
mod send_managed_thing_command;
mod start_device_discovery;
mod update_destination;
mod update_event_log_configuration;
mod update_managed_thing;
mod update_notification_configuration;
mod update_ota_task;