#[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(())
}
}
pub trait Waiters {
fn wait_until_hybrid_ad_updated(&self) -> crate::waiters::hybrid_ad_updated::HybridAdUpdatedFluentBuilder;
}
impl Waiters for Client {
fn wait_until_hybrid_ad_updated(&self) -> crate::waiters::hybrid_ad_updated::HybridAdUpdatedFluentBuilder {
crate::waiters::hybrid_ad_updated::HybridAdUpdatedFluentBuilder::new(self.handle.clone())
}
}
impl Client {
#[track_caller]
pub fn new(sdk_config: &::aws_types::sdk_config::SdkConfig) -> Self {
Self::from_conf(sdk_config.into())
}
}
mod accept_shared_directory;
mod add_ip_routes;
mod add_region;
mod add_tags_to_resource;
mod cancel_schema_extension;
mod connect_directory;
mod create_alias;
mod create_computer;
mod create_conditional_forwarder;
mod create_directory;
mod create_hybrid_ad;
mod create_log_subscription;
mod create_microsoft_ad;
mod create_snapshot;
mod create_trust;
pub mod customize;
mod delete_ad_assessment;
mod delete_conditional_forwarder;
mod delete_directory;
mod delete_log_subscription;
mod delete_snapshot;
mod delete_trust;
mod deregister_certificate;
mod deregister_event_topic;
mod describe_ad_assessment;
mod describe_ca_enrollment_policy;
mod describe_certificate;
mod describe_client_authentication_settings;
mod describe_conditional_forwarders;
mod describe_directories;
mod describe_directory_data_access;
mod describe_domain_controllers;
mod describe_event_topics;
mod describe_hybrid_ad_update;
mod describe_ldaps_settings;
mod describe_regions;
mod describe_settings;
mod describe_shared_directories;
mod describe_snapshots;
mod describe_trusts;
mod describe_update_directory;
mod disable_ca_enrollment_policy;
mod disable_client_authentication;
mod disable_directory_data_access;
mod disable_ldaps;
mod disable_radius;
mod disable_sso;
mod enable_ca_enrollment_policy;
mod enable_client_authentication;
mod enable_directory_data_access;
mod enable_ldaps;
mod enable_radius;
mod enable_sso;
mod get_directory_limits;
mod get_snapshot_limits;
mod list_ad_assessments;
mod list_certificates;
mod list_ip_routes;
mod list_log_subscriptions;
mod list_schema_extensions;
mod list_tags_for_resource;
mod register_certificate;
mod register_event_topic;
mod reject_shared_directory;
mod remove_ip_routes;
mod remove_region;
mod remove_tags_from_resource;
mod reset_user_password;
mod restore_from_snapshot;
mod share_directory;
mod start_ad_assessment;
mod start_schema_extension;
mod unshare_directory;
mod update_conditional_forwarder;
mod update_directory_setup;
mod update_hybrid_ad;
mod update_number_of_domain_controllers;
mod update_radius;
mod update_settings;
mod update_trust;
mod verify_trust;