aws_sdk_cloudformation/
client.rs1#[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_change_set_create_complete(&self) -> crate::waiters::change_set_create_complete::ChangeSetCreateCompleteFluentBuilder;
145 fn wait_until_stack_refactor_create_complete(&self) -> crate::waiters::stack_refactor_create_complete::StackRefactorCreateCompleteFluentBuilder;
147 fn wait_until_stack_refactor_execute_complete(
149 &self,
150 ) -> crate::waiters::stack_refactor_execute_complete::StackRefactorExecuteCompleteFluentBuilder;
151 fn wait_until_stack_create_complete(&self) -> crate::waiters::stack_create_complete::StackCreateCompleteFluentBuilder;
153 fn wait_until_stack_delete_complete(&self) -> crate::waiters::stack_delete_complete::StackDeleteCompleteFluentBuilder;
155 fn wait_until_stack_exists(&self) -> crate::waiters::stack_exists::StackExistsFluentBuilder;
157 fn wait_until_stack_import_complete(&self) -> crate::waiters::stack_import_complete::StackImportCompleteFluentBuilder;
159 fn wait_until_stack_rollback_complete(&self) -> crate::waiters::stack_rollback_complete::StackRollbackCompleteFluentBuilder;
161 fn wait_until_stack_update_complete(&self) -> crate::waiters::stack_update_complete::StackUpdateCompleteFluentBuilder;
163 fn wait_until_type_registration_complete(&self) -> crate::waiters::type_registration_complete::TypeRegistrationCompleteFluentBuilder;
165}
166impl Waiters for Client {
167 fn wait_until_change_set_create_complete(&self) -> crate::waiters::change_set_create_complete::ChangeSetCreateCompleteFluentBuilder {
168 crate::waiters::change_set_create_complete::ChangeSetCreateCompleteFluentBuilder::new(self.handle.clone())
169 }
170 fn wait_until_stack_refactor_create_complete(&self) -> crate::waiters::stack_refactor_create_complete::StackRefactorCreateCompleteFluentBuilder {
171 crate::waiters::stack_refactor_create_complete::StackRefactorCreateCompleteFluentBuilder::new(self.handle.clone())
172 }
173 fn wait_until_stack_refactor_execute_complete(
174 &self,
175 ) -> crate::waiters::stack_refactor_execute_complete::StackRefactorExecuteCompleteFluentBuilder {
176 crate::waiters::stack_refactor_execute_complete::StackRefactorExecuteCompleteFluentBuilder::new(self.handle.clone())
177 }
178 fn wait_until_stack_create_complete(&self) -> crate::waiters::stack_create_complete::StackCreateCompleteFluentBuilder {
179 crate::waiters::stack_create_complete::StackCreateCompleteFluentBuilder::new(self.handle.clone())
180 }
181 fn wait_until_stack_delete_complete(&self) -> crate::waiters::stack_delete_complete::StackDeleteCompleteFluentBuilder {
182 crate::waiters::stack_delete_complete::StackDeleteCompleteFluentBuilder::new(self.handle.clone())
183 }
184 fn wait_until_stack_exists(&self) -> crate::waiters::stack_exists::StackExistsFluentBuilder {
185 crate::waiters::stack_exists::StackExistsFluentBuilder::new(self.handle.clone())
186 }
187 fn wait_until_stack_import_complete(&self) -> crate::waiters::stack_import_complete::StackImportCompleteFluentBuilder {
188 crate::waiters::stack_import_complete::StackImportCompleteFluentBuilder::new(self.handle.clone())
189 }
190 fn wait_until_stack_rollback_complete(&self) -> crate::waiters::stack_rollback_complete::StackRollbackCompleteFluentBuilder {
191 crate::waiters::stack_rollback_complete::StackRollbackCompleteFluentBuilder::new(self.handle.clone())
192 }
193 fn wait_until_stack_update_complete(&self) -> crate::waiters::stack_update_complete::StackUpdateCompleteFluentBuilder {
194 crate::waiters::stack_update_complete::StackUpdateCompleteFluentBuilder::new(self.handle.clone())
195 }
196 fn wait_until_type_registration_complete(&self) -> crate::waiters::type_registration_complete::TypeRegistrationCompleteFluentBuilder {
197 crate::waiters::type_registration_complete::TypeRegistrationCompleteFluentBuilder::new(self.handle.clone())
198 }
199}
200
201impl Client {
202 #[track_caller]
212 pub fn new(sdk_config: &::aws_types::sdk_config::SdkConfig) -> Self {
213 Self::from_conf(sdk_config.into())
214 }
215}
216
217mod activate_organizations_access;
218
219mod activate_type;
220
221mod batch_describe_type_configurations;
222
223mod cancel_update_stack;
224
225mod continue_update_rollback;
226
227mod create_change_set;
228
229mod create_generated_template;
230
231mod create_stack;
232
233mod create_stack_instances;
234
235mod create_stack_refactor;
236
237mod create_stack_set;
238
239pub mod customize;
265
266mod deactivate_organizations_access;
267
268mod deactivate_type;
269
270mod delete_change_set;
271
272mod delete_generated_template;
273
274mod delete_stack;
275
276mod delete_stack_instances;
277
278mod delete_stack_set;
279
280mod deregister_type;
281
282mod describe_account_limits;
283
284mod describe_change_set;
285
286mod describe_change_set_hooks;
287
288mod describe_generated_template;
289
290mod describe_organizations_access;
291
292mod describe_publisher;
293
294mod describe_resource_scan;
295
296mod describe_stack_drift_detection_status;
297
298mod describe_stack_events;
299
300mod describe_stack_instance;
301
302mod describe_stack_refactor;
303
304mod describe_stack_resource;
305
306mod describe_stack_resource_drifts;
307
308mod describe_stack_resources;
309
310mod describe_stack_set;
311
312mod describe_stack_set_operation;
313
314mod describe_stacks;
315
316mod describe_type;
317
318mod describe_type_registration;
319
320mod detect_stack_drift;
321
322mod detect_stack_resource_drift;
323
324mod detect_stack_set_drift;
325
326mod estimate_template_cost;
327
328mod execute_change_set;
329
330mod execute_stack_refactor;
331
332mod get_generated_template;
333
334mod get_stack_policy;
335
336mod get_template;
337
338mod get_template_summary;
339
340mod import_stacks_to_stack_set;
341
342mod list_change_sets;
343
344mod list_exports;
345
346mod list_generated_templates;
347
348mod list_hook_results;
349
350mod list_imports;
351
352mod list_resource_scan_related_resources;
353
354mod list_resource_scan_resources;
355
356mod list_resource_scans;
357
358mod list_stack_instance_resource_drifts;
359
360mod list_stack_instances;
361
362mod list_stack_refactor_actions;
363
364mod list_stack_refactors;
365
366mod list_stack_resources;
367
368mod list_stack_set_auto_deployment_targets;
369
370mod list_stack_set_operation_results;
371
372mod list_stack_set_operations;
373
374mod list_stack_sets;
375
376mod list_stacks;
377
378mod list_type_registrations;
379
380mod list_type_versions;
381
382mod list_types;
383
384mod publish_type;
385
386mod record_handler_progress;
387
388mod register_publisher;
389
390mod register_type;
391
392mod rollback_stack;
393
394mod set_stack_policy;
395
396mod set_type_configuration;
397
398mod set_type_default_version;
399
400mod signal_resource;
401
402mod start_resource_scan;
403
404mod stop_stack_set_operation;
405
406mod test_type;
407
408mod update_generated_template;
409
410mod update_stack;
411
412mod update_stack_instances;
413
414mod update_stack_set;
415
416mod update_termination_protection;
417
418mod validate_template;