#[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 allocate_static_ip;
mod attach_certificate_to_distribution;
mod attach_disk;
mod attach_instances_to_load_balancer;
mod attach_load_balancer_tls_certificate;
mod attach_static_ip;
mod close_instance_public_ports;
mod copy_snapshot;
mod create_bucket;
mod create_bucket_access_key;
mod create_certificate;
mod create_cloud_formation_stack;
mod create_contact_method;
mod create_container_service;
mod create_container_service_deployment;
mod create_container_service_registry_login;
mod create_disk;
mod create_disk_from_snapshot;
mod create_disk_snapshot;
mod create_distribution;
mod create_domain;
mod create_domain_entry;
mod create_gui_session_access_details;
mod create_instance_snapshot;
mod create_instances;
mod create_instances_from_snapshot;
mod create_key_pair;
mod create_load_balancer;
mod create_load_balancer_tls_certificate;
mod create_relational_database;
mod create_relational_database_from_snapshot;
mod create_relational_database_snapshot;
pub mod customize;
mod delete_alarm;
mod delete_auto_snapshot;
mod delete_bucket;
mod delete_bucket_access_key;
mod delete_certificate;
mod delete_contact_method;
mod delete_container_image;
mod delete_container_service;
mod delete_disk;
mod delete_disk_snapshot;
mod delete_distribution;
mod delete_domain;
mod delete_domain_entry;
mod delete_instance;
mod delete_instance_snapshot;
mod delete_key_pair;
mod delete_known_host_keys;
mod delete_load_balancer;
mod delete_load_balancer_tls_certificate;
mod delete_relational_database;
mod delete_relational_database_snapshot;
mod detach_certificate_from_distribution;
mod detach_disk;
mod detach_instances_from_load_balancer;
mod detach_static_ip;
mod disable_add_on;
mod download_default_key_pair;
mod enable_add_on;
mod export_snapshot;
mod get_active_names;
mod get_alarms;
mod get_auto_snapshots;
mod get_blueprints;
mod get_bucket_access_keys;
mod get_bucket_bundles;
mod get_bucket_metric_data;
mod get_buckets;
mod get_bundles;
mod get_certificates;
mod get_cloud_formation_stack_records;
mod get_contact_methods;
mod get_container_api_metadata;
mod get_container_images;
mod get_container_log;
mod get_container_service_deployments;
mod get_container_service_metric_data;
mod get_container_service_powers;
mod get_container_services;
mod get_cost_estimate;
mod get_disk;
mod get_disk_snapshot;
mod get_disk_snapshots;
mod get_disks;
mod get_distribution_bundles;
mod get_distribution_latest_cache_reset;
mod get_distribution_metric_data;
mod get_distributions;
mod get_domain;
mod get_domains;
mod get_export_snapshot_records;
mod get_instance;
mod get_instance_access_details;
mod get_instance_metric_data;
mod get_instance_port_states;
mod get_instance_snapshot;
mod get_instance_snapshots;
mod get_instance_state;
mod get_instances;
mod get_key_pair;
mod get_key_pairs;
mod get_load_balancer;
mod get_load_balancer_metric_data;
mod get_load_balancer_tls_certificates;
mod get_load_balancer_tls_policies;
mod get_load_balancers;
mod get_operation;
mod get_operations;
mod get_operations_for_resource;
mod get_regions;
mod get_relational_database;
mod get_relational_database_blueprints;
mod get_relational_database_bundles;
mod get_relational_database_events;
mod get_relational_database_log_events;
mod get_relational_database_log_streams;
mod get_relational_database_master_user_password;
mod get_relational_database_metric_data;
mod get_relational_database_parameters;
mod get_relational_database_snapshot;
mod get_relational_database_snapshots;
mod get_relational_databases;
mod get_setup_history;
mod get_static_ip;
mod get_static_ips;
mod import_key_pair;
mod is_vpc_peered;
mod open_instance_public_ports;
mod peer_vpc;
mod put_alarm;
mod put_instance_public_ports;
mod reboot_instance;
mod reboot_relational_database;
mod register_container_image;
mod release_static_ip;
mod reset_distribution_cache;
mod send_contact_method_verification;
mod set_ip_address_type;
mod set_resource_access_for_bucket;
mod setup_instance_https;
mod start_gui_session;
mod start_instance;
mod start_relational_database;
mod stop_gui_session;
mod stop_instance;
mod stop_relational_database;
mod tag_resource;
mod test_alarm;
mod unpeer_vpc;
mod untag_resource;
mod update_bucket;
mod update_bucket_bundle;
mod update_container_service;
mod update_distribution;
mod update_distribution_bundle;
mod update_domain_entry;
mod update_instance_metadata_options;
mod update_load_balancer_attribute;
mod update_relational_database;
mod update_relational_database_parameters;