1#[derive(Debug)]
3pub(crate) struct Handle {
4 pub(crate) conf: crate::Config,
5 #[allow(dead_code)] pub(crate) runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
7}
8
9#[derive(::std::clone::Clone, ::std::fmt::Debug)]
92pub struct Client {
93 handle: ::std::sync::Arc<Handle>,
94}
95
96impl Client {
97 #[track_caller]
109 pub fn from_conf(conf: crate::Config) -> Self {
110 let handle = Handle {
111 conf: conf.clone(),
112 runtime_plugins: crate::config::base_client_runtime_plugins(conf),
113 };
114 if let Err(err) = Self::validate_config(&handle) {
115 panic!("Invalid client configuration: {err}");
116 }
117 Self {
118 handle: ::std::sync::Arc::new(handle),
119 }
120 }
121
122 pub fn config(&self) -> &crate::Config {
124 &self.handle.conf
125 }
126
127 fn validate_config(handle: &Handle) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
128 let mut cfg = ::aws_smithy_types::config_bag::ConfigBag::base();
129 handle
130 .runtime_plugins
131 .apply_client_configuration(&mut cfg)?
132 .validate_base_client_config(&cfg)?;
133 Ok(())
134 }
135}
136
137pub trait Waiters {
143 fn wait_until_component_deployed(&self) -> crate::waiters::component_deployed::ComponentDeployedFluentBuilder;
145 fn wait_until_component_deleted(&self) -> crate::waiters::component_deleted::ComponentDeletedFluentBuilder;
147 fn wait_until_environment_deployed(&self) -> crate::waiters::environment_deployed::EnvironmentDeployedFluentBuilder;
149 fn wait_until_environment_template_version_registered(
151 &self,
152 ) -> crate::waiters::environment_template_version_registered::EnvironmentTemplateVersionRegisteredFluentBuilder;
153 fn wait_until_service_created(&self) -> crate::waiters::service_created::ServiceCreatedFluentBuilder;
155 fn wait_until_service_updated(&self) -> crate::waiters::service_updated::ServiceUpdatedFluentBuilder;
157 fn wait_until_service_deleted(&self) -> crate::waiters::service_deleted::ServiceDeletedFluentBuilder;
159 fn wait_until_service_pipeline_deployed(&self) -> crate::waiters::service_pipeline_deployed::ServicePipelineDeployedFluentBuilder;
161 fn wait_until_service_instance_deployed(&self) -> crate::waiters::service_instance_deployed::ServiceInstanceDeployedFluentBuilder;
163 fn wait_until_service_template_version_registered(
165 &self,
166 ) -> crate::waiters::service_template_version_registered::ServiceTemplateVersionRegisteredFluentBuilder;
167}
168impl Waiters for Client {
169 fn wait_until_component_deployed(&self) -> crate::waiters::component_deployed::ComponentDeployedFluentBuilder {
170 crate::waiters::component_deployed::ComponentDeployedFluentBuilder::new(self.handle.clone())
171 }
172 fn wait_until_component_deleted(&self) -> crate::waiters::component_deleted::ComponentDeletedFluentBuilder {
173 crate::waiters::component_deleted::ComponentDeletedFluentBuilder::new(self.handle.clone())
174 }
175 fn wait_until_environment_deployed(&self) -> crate::waiters::environment_deployed::EnvironmentDeployedFluentBuilder {
176 crate::waiters::environment_deployed::EnvironmentDeployedFluentBuilder::new(self.handle.clone())
177 }
178 fn wait_until_environment_template_version_registered(
179 &self,
180 ) -> crate::waiters::environment_template_version_registered::EnvironmentTemplateVersionRegisteredFluentBuilder {
181 crate::waiters::environment_template_version_registered::EnvironmentTemplateVersionRegisteredFluentBuilder::new(self.handle.clone())
182 }
183 fn wait_until_service_created(&self) -> crate::waiters::service_created::ServiceCreatedFluentBuilder {
184 crate::waiters::service_created::ServiceCreatedFluentBuilder::new(self.handle.clone())
185 }
186 fn wait_until_service_updated(&self) -> crate::waiters::service_updated::ServiceUpdatedFluentBuilder {
187 crate::waiters::service_updated::ServiceUpdatedFluentBuilder::new(self.handle.clone())
188 }
189 fn wait_until_service_deleted(&self) -> crate::waiters::service_deleted::ServiceDeletedFluentBuilder {
190 crate::waiters::service_deleted::ServiceDeletedFluentBuilder::new(self.handle.clone())
191 }
192 fn wait_until_service_pipeline_deployed(&self) -> crate::waiters::service_pipeline_deployed::ServicePipelineDeployedFluentBuilder {
193 crate::waiters::service_pipeline_deployed::ServicePipelineDeployedFluentBuilder::new(self.handle.clone())
194 }
195 fn wait_until_service_instance_deployed(&self) -> crate::waiters::service_instance_deployed::ServiceInstanceDeployedFluentBuilder {
196 crate::waiters::service_instance_deployed::ServiceInstanceDeployedFluentBuilder::new(self.handle.clone())
197 }
198 fn wait_until_service_template_version_registered(
199 &self,
200 ) -> crate::waiters::service_template_version_registered::ServiceTemplateVersionRegisteredFluentBuilder {
201 crate::waiters::service_template_version_registered::ServiceTemplateVersionRegisteredFluentBuilder::new(self.handle.clone())
202 }
203}
204
205impl Client {
206 #[track_caller]
216 pub fn new(sdk_config: &::aws_types::sdk_config::SdkConfig) -> Self {
217 Self::from_conf(sdk_config.into())
218 }
219}
220
221mod accept_environment_account_connection;
222
223mod cancel_component_deployment;
224
225mod cancel_environment_deployment;
226
227mod cancel_service_instance_deployment;
228
229mod cancel_service_pipeline_deployment;
230
231mod create_component;
232
233mod create_environment;
234
235mod create_environment_account_connection;
236
237mod create_environment_template;
238
239mod create_environment_template_version;
240
241mod create_repository;
242
243mod create_service;
244
245mod create_service_instance;
246
247mod create_service_sync_config;
248
249mod create_service_template;
250
251mod create_service_template_version;
252
253mod create_template_sync_config;
254
255pub mod customize;
281
282mod delete_component;
283
284mod delete_deployment;
285
286mod delete_environment;
287
288mod delete_environment_account_connection;
289
290mod delete_environment_template;
291
292mod delete_environment_template_version;
293
294mod delete_repository;
295
296mod delete_service;
297
298mod delete_service_sync_config;
299
300mod delete_service_template;
301
302mod delete_service_template_version;
303
304mod delete_template_sync_config;
305
306mod get_account_settings;
307
308mod get_component;
309
310mod get_deployment;
311
312mod get_environment;
313
314mod get_environment_account_connection;
315
316mod get_environment_template;
317
318mod get_environment_template_version;
319
320mod get_repository;
321
322mod get_repository_sync_status;
323
324mod get_resources_summary;
325
326mod get_service;
327
328mod get_service_instance;
329
330mod get_service_instance_sync_status;
331
332mod get_service_sync_blocker_summary;
333
334mod get_service_sync_config;
335
336mod get_service_template;
337
338mod get_service_template_version;
339
340mod get_template_sync_config;
341
342mod get_template_sync_status;
343
344mod list_component_outputs;
345
346mod list_component_provisioned_resources;
347
348mod list_components;
349
350mod list_deployments;
351
352mod list_environment_account_connections;
353
354mod list_environment_outputs;
355
356mod list_environment_provisioned_resources;
357
358mod list_environment_template_versions;
359
360mod list_environment_templates;
361
362mod list_environments;
363
364mod list_repositories;
365
366mod list_repository_sync_definitions;
367
368mod list_service_instance_outputs;
369
370mod list_service_instance_provisioned_resources;
371
372mod list_service_instances;
373
374mod list_service_pipeline_outputs;
375
376mod list_service_pipeline_provisioned_resources;
377
378mod list_service_template_versions;
379
380mod list_service_templates;
381
382mod list_services;
383
384mod list_tags_for_resource;
385
386mod notify_resource_deployment_status_change;
387
388mod reject_environment_account_connection;
389
390mod tag_resource;
391
392mod untag_resource;
393
394mod update_account_settings;
395
396mod update_component;
397
398mod update_environment;
399
400mod update_environment_account_connection;
401
402mod update_environment_template;
403
404mod update_environment_template_version;
405
406mod update_service;
407
408mod update_service_instance;
409
410mod update_service_pipeline;
411
412mod update_service_sync_blocker;
413
414mod update_service_sync_config;
415
416mod update_service_template;
417
418mod update_service_template_version;
419
420mod update_template_sync_config;