#[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 accept_account_link_invitation;
mod associate_connection_alias;
mod associate_ip_groups;
mod associate_workspace_application;
mod authorize_ip_rules;
mod copy_workspace_image;
mod create_account_link_invitation;
mod create_connect_client_add_in;
mod create_connection_alias;
mod create_ip_group;
mod create_standby_workspaces;
mod create_tags;
mod create_updated_workspace_image;
mod create_workspace_bundle;
mod create_workspace_image;
mod create_workspaces;
mod create_workspaces_pool;
pub mod customize;
mod delete_account_link_invitation;
mod delete_client_branding;
mod delete_connect_client_add_in;
mod delete_connection_alias;
mod delete_ip_group;
mod delete_tags;
mod delete_workspace_bundle;
mod delete_workspace_image;
mod deploy_workspace_applications;
mod deregister_workspace_directory;
mod describe_account;
mod describe_account_modifications;
mod describe_application_associations;
mod describe_applications;
mod describe_bundle_associations;
mod describe_client_branding;
mod describe_client_properties;
mod describe_connect_client_add_ins;
mod describe_connection_alias_permissions;
mod describe_connection_aliases;
mod describe_custom_workspace_image_import;
mod describe_image_associations;
mod describe_ip_groups;
mod describe_tags;
mod describe_workspace_associations;
mod describe_workspace_bundles;
mod describe_workspace_directories;
mod describe_workspace_image_permissions;
mod describe_workspace_images;
mod describe_workspace_snapshots;
mod describe_workspaces;
mod describe_workspaces_connection_status;
mod describe_workspaces_pool_sessions;
mod describe_workspaces_pools;
mod disassociate_connection_alias;
mod disassociate_ip_groups;
mod disassociate_workspace_application;
mod get_account_link;
mod import_client_branding;
mod import_custom_workspace_image;
mod import_workspace_image;
mod list_account_links;
mod list_available_management_cidr_ranges;
mod migrate_workspace;
mod modify_account;
mod modify_certificate_based_auth_properties;
mod modify_client_properties;
mod modify_endpoint_encryption_mode;
mod modify_saml_properties;
mod modify_selfservice_permissions;
mod modify_streaming_properties;
mod modify_workspace_access_properties;
mod modify_workspace_creation_properties;
mod modify_workspace_properties;
mod modify_workspace_state;
mod reboot_workspaces;
mod rebuild_workspaces;
mod register_workspace_directory;
mod reject_account_link_invitation;
mod restore_workspace;
mod revoke_ip_rules;
mod start_workspaces;
mod start_workspaces_pool;
mod stop_workspaces;
mod stop_workspaces_pool;
mod terminate_workspaces;
mod terminate_workspaces_pool;
mod terminate_workspaces_pool_session;
mod update_connect_client_add_in;
mod update_connection_alias_permission;
mod update_rules_of_ip_group;
mod update_workspace_bundle;
mod update_workspace_image_permission;
mod update_workspaces_pool;