#[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 associate_resource_types;
mod batch_get_aggregate_resource_config;
mod batch_get_resource_config;
pub mod customize;
mod delete_aggregation_authorization;
mod delete_config_rule;
mod delete_configuration_aggregator;
mod delete_configuration_recorder;
mod delete_conformance_pack;
mod delete_delivery_channel;
mod delete_evaluation_results;
mod delete_organization_config_rule;
mod delete_organization_conformance_pack;
mod delete_pending_aggregation_request;
mod delete_remediation_configuration;
mod delete_remediation_exceptions;
mod delete_resource_config;
mod delete_retention_configuration;
mod delete_service_linked_configuration_recorder;
mod delete_stored_query;
mod deliver_config_snapshot;
mod describe_aggregate_compliance_by_config_rules;
mod describe_aggregate_compliance_by_conformance_packs;
mod describe_aggregation_authorizations;
mod describe_compliance_by_config_rule;
mod describe_compliance_by_resource;
mod describe_config_rule_evaluation_status;
mod describe_config_rules;
mod describe_configuration_aggregator_sources_status;
mod describe_configuration_aggregators;
mod describe_configuration_recorder_status;
mod describe_configuration_recorders;
mod describe_conformance_pack_compliance;
mod describe_conformance_pack_status;
mod describe_conformance_packs;
mod describe_delivery_channel_status;
mod describe_delivery_channels;
mod describe_organization_config_rule_statuses;
mod describe_organization_config_rules;
mod describe_organization_conformance_pack_statuses;
mod describe_organization_conformance_packs;
mod describe_pending_aggregation_requests;
mod describe_remediation_configurations;
mod describe_remediation_exceptions;
mod describe_remediation_execution_status;
mod describe_retention_configurations;
mod disassociate_resource_types;
mod get_aggregate_compliance_details_by_config_rule;
mod get_aggregate_config_rule_compliance_summary;
mod get_aggregate_conformance_pack_compliance_summary;
mod get_aggregate_discovered_resource_counts;
mod get_aggregate_resource_config;
mod get_compliance_details_by_config_rule;
mod get_compliance_details_by_resource;
mod get_compliance_summary_by_config_rule;
mod get_compliance_summary_by_resource_type;
mod get_conformance_pack_compliance_details;
mod get_conformance_pack_compliance_summary;
mod get_custom_rule_policy;
mod get_discovered_resource_counts;
mod get_organization_config_rule_detailed_status;
mod get_organization_conformance_pack_detailed_status;
mod get_organization_custom_rule_policy;
mod get_resource_config_history;
mod get_resource_evaluation_summary;
mod get_stored_query;
mod list_aggregate_discovered_resources;
mod list_configuration_recorders;
mod list_conformance_pack_compliance_scores;
mod list_discovered_resources;
mod list_resource_evaluations;
mod list_stored_queries;
mod list_tags_for_resource;
mod put_aggregation_authorization;
mod put_config_rule;
mod put_configuration_aggregator;
mod put_configuration_recorder;
mod put_conformance_pack;
mod put_delivery_channel;
mod put_evaluations;
mod put_external_evaluation;
mod put_organization_config_rule;
mod put_organization_conformance_pack;
mod put_remediation_configurations;
mod put_remediation_exceptions;
mod put_resource_config;
mod put_retention_configuration;
mod put_service_linked_configuration_recorder;
mod put_stored_query;
mod select_aggregate_resource_config;
mod select_resource_config;
mod start_config_rules_evaluation;
mod start_configuration_recorder;
mod start_remediation_execution;
mod start_resource_evaluation;
mod stop_configuration_recorder;
mod tag_resource;
mod untag_resource;