aws_sdk_cloudfront/
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_distribution_deployed(&self) -> crate::waiters::distribution_deployed::DistributionDeployedFluentBuilder;
145 fn wait_until_invalidation_completed(&self) -> crate::waiters::invalidation_completed::InvalidationCompletedFluentBuilder;
147 fn wait_until_streaming_distribution_deployed(
149 &self,
150 ) -> crate::waiters::streaming_distribution_deployed::StreamingDistributionDeployedFluentBuilder;
151}
152impl Waiters for Client {
153 fn wait_until_distribution_deployed(&self) -> crate::waiters::distribution_deployed::DistributionDeployedFluentBuilder {
154 crate::waiters::distribution_deployed::DistributionDeployedFluentBuilder::new(self.handle.clone())
155 }
156 fn wait_until_invalidation_completed(&self) -> crate::waiters::invalidation_completed::InvalidationCompletedFluentBuilder {
157 crate::waiters::invalidation_completed::InvalidationCompletedFluentBuilder::new(self.handle.clone())
158 }
159 fn wait_until_streaming_distribution_deployed(
160 &self,
161 ) -> crate::waiters::streaming_distribution_deployed::StreamingDistributionDeployedFluentBuilder {
162 crate::waiters::streaming_distribution_deployed::StreamingDistributionDeployedFluentBuilder::new(self.handle.clone())
163 }
164}
165
166impl Client {
167 #[track_caller]
177 pub fn new(sdk_config: &::aws_types::sdk_config::SdkConfig) -> Self {
178 Self::from_conf(sdk_config.into())
179 }
180}
181
182mod associate_alias;
183
184mod copy_distribution;
185
186mod create_anycast_ip_list;
187
188mod create_cache_policy;
189
190mod create_cloud_front_origin_access_identity;
191
192mod create_continuous_deployment_policy;
193
194mod create_distribution;
195
196mod create_distribution_with_tags;
197
198mod create_field_level_encryption_config;
199
200mod create_field_level_encryption_profile;
201
202mod create_function;
203
204mod create_invalidation;
205
206mod create_key_group;
207
208mod create_key_value_store;
209
210mod create_monitoring_subscription;
211
212mod create_origin_access_control;
213
214mod create_origin_request_policy;
215
216mod create_public_key;
217
218mod create_realtime_log_config;
219
220mod create_response_headers_policy;
221
222mod create_streaming_distribution;
223
224mod create_streaming_distribution_with_tags;
225
226mod create_vpc_origin;
227
228pub mod customize;
254
255mod delete_anycast_ip_list;
256
257mod delete_cache_policy;
258
259mod delete_cloud_front_origin_access_identity;
260
261mod delete_continuous_deployment_policy;
262
263mod delete_distribution;
264
265mod delete_field_level_encryption_config;
266
267mod delete_field_level_encryption_profile;
268
269mod delete_function;
270
271mod delete_key_group;
272
273mod delete_key_value_store;
274
275mod delete_monitoring_subscription;
276
277mod delete_origin_access_control;
278
279mod delete_origin_request_policy;
280
281mod delete_public_key;
282
283mod delete_realtime_log_config;
284
285mod delete_response_headers_policy;
286
287mod delete_streaming_distribution;
288
289mod delete_vpc_origin;
290
291mod describe_function;
292
293mod describe_key_value_store;
294
295mod get_anycast_ip_list;
296
297mod get_cache_policy;
298
299mod get_cache_policy_config;
300
301mod get_cloud_front_origin_access_identity;
302
303mod get_cloud_front_origin_access_identity_config;
304
305mod get_continuous_deployment_policy;
306
307mod get_continuous_deployment_policy_config;
308
309mod get_distribution;
310
311mod get_distribution_config;
312
313mod get_field_level_encryption;
314
315mod get_field_level_encryption_config;
316
317mod get_field_level_encryption_profile;
318
319mod get_field_level_encryption_profile_config;
320
321mod get_function;
322
323mod get_invalidation;
324
325mod get_key_group;
326
327mod get_key_group_config;
328
329mod get_monitoring_subscription;
330
331mod get_origin_access_control;
332
333mod get_origin_access_control_config;
334
335mod get_origin_request_policy;
336
337mod get_origin_request_policy_config;
338
339mod get_public_key;
340
341mod get_public_key_config;
342
343mod get_realtime_log_config;
344
345mod get_response_headers_policy;
346
347mod get_response_headers_policy_config;
348
349mod get_streaming_distribution;
350
351mod get_streaming_distribution_config;
352
353mod get_vpc_origin;
354
355mod list_anycast_ip_lists;
356
357mod list_cache_policies;
358
359mod list_cloud_front_origin_access_identities;
360
361mod list_conflicting_aliases;
362
363mod list_continuous_deployment_policies;
364
365mod list_distributions;
366
367mod list_distributions_by_anycast_ip_list_id;
368
369mod list_distributions_by_cache_policy_id;
370
371mod list_distributions_by_key_group;
372
373mod list_distributions_by_origin_request_policy_id;
374
375mod list_distributions_by_realtime_log_config;
376
377mod list_distributions_by_response_headers_policy_id;
378
379mod list_distributions_by_vpc_origin_id;
380
381mod list_distributions_by_web_acl_id;
382
383mod list_field_level_encryption_configs;
384
385mod list_field_level_encryption_profiles;
386
387mod list_functions;
388
389mod list_invalidations;
390
391mod list_key_groups;
392
393mod list_key_value_stores;
394
395mod list_origin_access_controls;
396
397mod list_origin_request_policies;
398
399mod list_public_keys;
400
401mod list_realtime_log_configs;
402
403mod list_response_headers_policies;
404
405mod list_streaming_distributions;
406
407mod list_tags_for_resource;
408
409mod list_vpc_origins;
410
411mod publish_function;
412
413mod tag_resource;
414
415mod test_function;
416
417mod untag_resource;
418
419mod update_cache_policy;
420
421mod update_cloud_front_origin_access_identity;
422
423mod update_continuous_deployment_policy;
424
425mod update_distribution;
426
427mod update_distribution_with_staging_config;
428
429mod update_field_level_encryption_config;
430
431mod update_field_level_encryption_profile;
432
433mod update_function;
434
435mod update_key_group;
436
437mod update_key_value_store;
438
439mod update_origin_access_control;
440
441mod update_origin_request_policy;
442
443mod update_public_key;
444
445mod update_realtime_log_config;
446
447mod update_response_headers_policy;
448
449mod update_streaming_distribution;
450
451mod update_vpc_origin;