1 1 | // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
|
2 - |
|
3 - | /// Configuration for a query_compat_test service client.
|
2 + | /* ServiceConfigGenerator.kt:409 */
|
3 + | /// /* ServiceConfigGenerator.kt:409 */Configuration for a query_compat_test service client.
|
4 4 | ///
|
5 + | /* RustType.kt:516 */
|
5 6 | #[derive(::std::clone::Clone, ::std::fmt::Debug)]
|
7 + | /* ServiceConfigGenerator.kt:414 */
|
6 8 | pub struct Config {
|
7 - | // Both `config` and `cloneable` are the same config, but the cloneable one
|
9 + | /* ServiceConfigGenerator.kt:415 */// Both `config` and `cloneable` are the same config, but the cloneable one
|
8 10 | // is kept around so that it is possible to convert back into a builder. This can be
|
9 11 | // optimized in the future.
|
10 12 | pub(crate) config: crate::config::FrozenLayer,
|
11 13 | cloneable: ::aws_smithy_types::config_bag::CloneableLayer,
|
12 14 | pub(crate) runtime_components: crate::config::RuntimeComponentsBuilder,
|
13 15 | pub(crate) runtime_plugins: ::std::vec::Vec<crate::config::SharedRuntimePlugin>,
|
14 16 | pub(crate) behavior_version: ::std::option::Option<crate::config::BehaviorVersion>,
|
17 + | /* ServiceConfigGenerator.kt:414 */
|
15 18 | }
|
19 + | /* ServiceConfigGenerator.kt:433 */
|
16 20 | impl Config {
|
17 - | ///
|
21 + | /// /* ServiceConfigGenerator.kt:434 */
|
18 22 | /// Constructs a config builder.
|
19 23 | /// <div class="warning">
|
20 24 | /// Note that a config created from this builder will not have the same safe defaults as one created by
|
21 25 | /// the <a href="https://crates.io/crates/aws-config" target="_blank">aws-config</a> crate.
|
22 26 | /// </div>
|
23 27 | ///
|
28 + | /* ServiceConfigGenerator.kt:435 */
|
24 29 | pub fn builder() -> Builder {
|
25 30 | Builder::default()
|
26 31 | }
|
32 + | /* ServiceConfigGenerator.kt:440 */
|
27 33 | /// Converts this config back into a builder so that it can be tweaked.
|
28 34 | pub fn to_builder(&self) -> Builder {
|
29 35 | Builder {
|
30 36 | config: self.cloneable.clone(),
|
31 37 | runtime_components: self.runtime_components.clone(),
|
32 38 | runtime_plugins: self.runtime_plugins.clone(),
|
33 39 | behavior_version: self.behavior_version,
|
34 40 | }
|
35 41 | }
|
42 + | /* StalledStreamProtectionConfigCustomization.kt:57 */
|
36 43 | /// Return a reference to the stalled stream protection configuration contained in this config, if any.
|
37 44 | pub fn stalled_stream_protection(&self) -> ::std::option::Option<&crate::config::StalledStreamProtectionConfig> {
|
38 45 | self.config.load::<crate::config::StalledStreamProtectionConfig>()
|
39 46 | }
|
47 + | /* HttpConnectorConfigDecorator.kt:52 */
|
40 48 | /// Return the [`SharedHttpClient`](crate::config::SharedHttpClient) to use when making requests, if any.
|
41 49 | pub fn http_client(&self) -> Option<crate::config::SharedHttpClient> {
|
42 50 | self.runtime_components.http_client()
|
43 51 | }
|
52 + | /* EndpointConfigCustomization.kt:47 */
|
44 53 | /// Returns the endpoint resolver.
|
45 54 | pub fn endpoint_resolver(&self) -> ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver {
|
46 55 | self.runtime_components.endpoint_resolver().expect("resolver defaulted if not set")
|
47 56 | }
|
57 + | /* ResiliencyConfigCustomization.kt:51 */
|
48 58 | /// Return a reference to the retry configuration contained in this config, if any.
|
49 59 | pub fn retry_config(&self) -> ::std::option::Option<&::aws_smithy_types::retry::RetryConfig> {
|
50 60 | self.config.load::<::aws_smithy_types::retry::RetryConfig>()
|
51 61 | }
|
52 62 |
|
53 63 | /// Return a cloned shared async sleep implementation from this config, if any.
|
54 64 | pub fn sleep_impl(&self) -> ::std::option::Option<crate::config::SharedAsyncSleep> {
|
55 65 | self.runtime_components.sleep_impl()
|
56 66 | }
|
57 67 |
|
58 68 | /// Return a reference to the timeout configuration contained in this config, if any.
|
59 69 | pub fn timeout_config(&self) -> ::std::option::Option<&::aws_smithy_types::timeout::TimeoutConfig> {
|
60 70 | self.config.load::<::aws_smithy_types::timeout::TimeoutConfig>()
|
61 71 | }
|
62 72 |
|
63 73 | /// Returns a reference to the retry partition contained in this config, if any.
|
64 74 | ///
|
65 75 | /// WARNING: This method is unstable and may be removed at any time. Do not rely on this
|
66 76 | /// method for anything!
|
67 77 | pub fn retry_partition(&self) -> ::std::option::Option<&::aws_smithy_runtime::client::retries::RetryPartition> {
|
68 78 | self.config.load::<::aws_smithy_runtime::client::retries::RetryPartition>()
|
69 79 | }
|
80 + | /* IdentityCacheDecorator.kt:96 */
|
70 81 | /// Returns the configured identity cache for auth.
|
71 82 | pub fn identity_cache(&self) -> ::std::option::Option<crate::config::SharedIdentityCache> {
|
72 83 | self.runtime_components.identity_cache()
|
73 84 | }
|
85 + | /* InterceptorConfigCustomization.kt:30 */
|
74 86 | /// Returns interceptors currently registered by the user.
|
75 87 | pub fn interceptors(&self) -> impl Iterator<Item = crate::config::SharedInterceptor> + '_ {
|
76 88 | self.runtime_components.interceptors()
|
77 89 | }
|
90 + | /* TimeSourceCustomization.kt:34 */
|
78 91 | /// Return time source used for this service.
|
92 + | /* TimeSourceCustomization.kt:35 */
|
79 93 | pub fn time_source(&self) -> ::std::option::Option<::aws_smithy_async::time::SharedTimeSource> {
|
94 + | /* TimeSourceCustomization.kt:39 */
|
80 95 | self.runtime_components.time_source()
|
96 + | /* TimeSourceCustomization.kt:35 */
|
81 97 | }
|
98 + | /* RetryClassifierConfigCustomization.kt:39 */
|
82 99 | /// Returns retry classifiers currently registered by the user.
|
83 100 | pub fn retry_classifiers(&self) -> impl Iterator<Item = ::aws_smithy_runtime_api::client::retries::classifiers::SharedRetryClassifier> + '_ {
|
84 101 | self.runtime_components.retry_classifiers()
|
85 102 | }
|
103 + | /* ServiceConfigGenerator.kt:433 */
|
86 104 | }
|
87 - | /// Builder for creating a `Config`.
|
105 + | /// /* ServiceConfigGenerator.kt:458 */Builder for creating a `Config`.
|
106 + | /* RustType.kt:516 */
|
88 107 | #[derive(::std::clone::Clone, ::std::fmt::Debug)]
|
108 + | /* ServiceConfigGenerator.kt:460 */
|
89 109 | pub struct Builder {
|
90 - | pub(crate) config: ::aws_smithy_types::config_bag::CloneableLayer,
|
110 + | /* ServiceConfigGenerator.kt:461 */ pub(crate) config: ::aws_smithy_types::config_bag::CloneableLayer,
|
91 111 | pub(crate) runtime_components: crate::config::RuntimeComponentsBuilder,
|
92 112 | pub(crate) runtime_plugins: ::std::vec::Vec<crate::config::SharedRuntimePlugin>,
|
93 113 | pub(crate) behavior_version: ::std::option::Option<crate::config::BehaviorVersion>,
|
114 + | /* ServiceConfigGenerator.kt:460 */
|
94 115 | }
|
116 + | /* ServiceConfigGenerator.kt:476 */
|
95 117 | impl ::std::default::Default for Builder {
|
118 + | /* ServiceConfigGenerator.kt:477 */
|
96 119 | fn default() -> Self {
|
97 120 | Self {
|
98 121 | config: ::std::default::Default::default(),
|
99 122 | runtime_components: crate::config::RuntimeComponentsBuilder::new("service config"),
|
100 123 | runtime_plugins: ::std::default::Default::default(),
|
101 124 | behavior_version: ::std::default::Default::default(),
|
102 125 | }
|
103 126 | }
|
127 + | /* ServiceConfigGenerator.kt:476 */
|
104 128 | }
|
129 + | /* ServiceConfigGenerator.kt:492 */
|
105 130 | impl Builder {
|
106 - | ///
|
131 + | /// /* ServiceConfigGenerator.kt:493 */
|
107 132 | /// Constructs a config builder.
|
108 133 | /// <div class="warning">
|
109 134 | /// Note that a config created from this builder will not have the same safe defaults as one created by
|
110 135 | /// the <a href="https://crates.io/crates/aws-config" target="_blank">aws-config</a> crate.
|
111 136 | /// </div>
|
112 137 | ///
|
138 + | /* ServiceConfigGenerator.kt:494 */
|
113 139 | pub fn new() -> Self {
|
114 140 | Self::default()
|
115 141 | }
|
116 - | /// Constructs a config builder from the given `config_bag`, setting only fields stored in the config bag,
|
117 - | /// but not those in runtime components.
|
142 + | /// /* ServiceConfigGenerator.kt:327 */Constructs a config builder from the given `config_bag`, setting only fields stored in the config bag,
|
143 + | /// /* ServiceConfigGenerator.kt:328 */but not those in runtime components.
|
144 + | /* RustType.kt:516 */
|
118 145 | #[allow(unused)]
|
146 + | /* ServiceConfigGenerator.kt:330 */
|
119 147 | pub(crate) fn from_config_bag(config_bag: &::aws_smithy_types::config_bag::ConfigBag) -> Self {
|
148 + | /* ServiceConfigGenerator.kt:334 */
|
120 149 | let mut builder = Self::new();
|
150 + | /* StalledStreamProtectionConfigCustomization.kt:102 */
|
121 151 | builder.set_stalled_stream_protection(config_bag.load::<crate::config::StalledStreamProtectionConfig>().cloned());
|
152 + | /* ResiliencyConfigCustomization.kt:294 */
|
122 153 | builder.set_retry_config(config_bag.load::<::aws_smithy_types::retry::RetryConfig>().cloned());
|
154 + | /* ResiliencyConfigCustomization.kt:298 */
|
123 155 | builder.set_timeout_config(config_bag.load::<::aws_smithy_types::timeout::TimeoutConfig>().cloned());
|
156 + | /* ResiliencyConfigCustomization.kt:302 */
|
124 157 | builder.set_retry_partition(config_bag.load::<::aws_smithy_runtime::client::retries::RetryPartition>().cloned());
|
158 + | /* ServiceConfigGenerator.kt:338 */
|
125 159 | builder
|
160 + | /* ServiceConfigGenerator.kt:330 */
|
126 161 | }
|
162 + | /* StalledStreamProtectionConfigCustomization.kt:69 */
|
127 163 | /// Set the [`StalledStreamProtectionConfig`](crate::config::StalledStreamProtectionConfig)
|
128 164 | /// to configure protection for stalled streams.
|
129 165 | pub fn stalled_stream_protection(mut self, stalled_stream_protection_config: crate::config::StalledStreamProtectionConfig) -> Self {
|
130 166 | self.set_stalled_stream_protection(::std::option::Option::Some(stalled_stream_protection_config));
|
131 167 | self
|
132 168 | }
|
169 + | /* StalledStreamProtectionConfigCustomization.kt:84 */
|
133 170 | /// Set the [`StalledStreamProtectionConfig`](crate::config::StalledStreamProtectionConfig)
|
134 171 | /// to configure protection for stalled streams.
|
135 172 | pub fn set_stalled_stream_protection(
|
136 173 | &mut self,
|
137 174 | stalled_stream_protection_config: ::std::option::Option<crate::config::StalledStreamProtectionConfig>,
|
138 175 | ) -> &mut Self {
|
139 176 | self.config.store_or_unset(stalled_stream_protection_config);
|
140 177 | self
|
141 178 | }
|
179 + | /* HttpConnectorConfigDecorator.kt:65 */
|
142 180 | /// Sets the HTTP client to use when making requests.
|
143 181 | ///
|
144 182 | /// # Examples
|
145 183 | /// ```no_run
|
146 184 | /// # #[cfg(test)]
|
147 185 | /// # mod tests {
|
148 186 | /// # #[test]
|
149 187 | /// # fn example() {
|
150 188 | /// use std::time::Duration;
|
151 189 | /// use query_compat_test::config::Config;
|
199 237 | /// let mut builder = query_compat_test::Config::builder();
|
200 238 | /// override_http_client(&mut builder);
|
201 239 | /// let config = builder.build();
|
202 240 | /// # }
|
203 241 | /// # }
|
204 242 | /// ```
|
205 243 | pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
|
206 244 | self.runtime_components.set_http_client(http_client);
|
207 245 | self
|
208 246 | }
|
247 + | /* EndpointConfigCustomization.kt:73 */
|
209 248 | /// Set the endpoint URL to use when making requests.
|
210 249 | ///
|
211 250 | /// Note: setting an endpoint URL will replace any endpoint resolver that has been set.
|
212 251 | ///
|
213 252 | /// # Panics
|
214 253 | /// Panics if an invalid URL is given.
|
215 254 | pub fn endpoint_url(mut self, endpoint_url: impl ::std::convert::Into<::std::string::String>) -> Self {
|
216 255 | self.set_endpoint_url(::std::option::Option::Some(endpoint_url.into()));
|
217 256 | self
|
218 257 | }
|
219 258 |
|
220 259 | /// Set the endpoint URL to use when making requests.
|
221 260 | ///
|
222 261 | /// Note: setting an endpoint URL will replace any endpoint resolver that has been set.
|
223 262 | ///
|
224 263 | /// # Panics
|
225 264 | /// Panics if an invalid URL is given.
|
226 265 | pub fn set_endpoint_url(&mut self, endpoint_url: ::std::option::Option<::std::string::String>) -> &mut Self {
|
227 266 | #[allow(deprecated)]
|
228 267 | self.set_endpoint_resolver(endpoint_url.map(|url| {
|
229 268 | ::aws_smithy_runtime_api::shared::IntoShared::into_shared(
|
230 269 | ::aws_smithy_runtime::client::orchestrator::endpoints::StaticUriEndpointResolver::uri(url),
|
231 270 | )
|
232 271 | }));
|
233 272 | self
|
234 273 | }
|
274 + | /* EndpointConfigCustomization.kt:105 */
|
235 275 | /// Sets the endpoint resolver to use when making requests.
|
236 276 | ///
|
237 277 | /// This service does not define a default endpoint resolver.
|
238 278 | ///
|
239 279 | /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
|
240 280 | /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
|
241 281 | /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
|
242 282 | ///
|
243 283 | /// # Examples
|
244 284 | /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
|
245 285 | /// ```no_run
|
246 286 | /// use query_compat_test::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
|
247 287 | /// #[derive(Debug)]
|
248 288 | /// struct StageResolver { stage: String }
|
249 289 | /// impl ResolveEndpoint for StageResolver {
|
250 290 | /// fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
|
251 291 | /// let stage = &self.stage;
|
252 292 | /// EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
|
253 293 | /// }
|
254 294 | /// }
|
255 295 | /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
|
256 296 | /// let config = query_compat_test::Config::builder().endpoint_resolver(resolver).build();
|
257 297 | /// let client = query_compat_test::Client::from_conf(config);
|
258 298 | /// ```
|
259 299 | pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
|
260 300 | self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
|
261 301 | self
|
262 302 | }
|
263 303 |
|
264 304 | /// Sets the endpoint resolver to use when making requests.
|
265 305 | ///
|
266 306 | /// This service does not define a default endpoint resolver.
|
307 + | /* EndpointConfigCustomization.kt:143 */
|
267 308 | pub fn set_endpoint_resolver(
|
268 309 | &mut self,
|
269 310 | endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
|
270 311 | ) -> &mut Self {
|
271 312 | self.runtime_components.set_endpoint_resolver(endpoint_resolver);
|
272 313 | self
|
273 314 | }
|
315 + | /* ResiliencyConfigCustomization.kt:81 */
|
274 316 | /// Set the retry_config for the builder
|
275 317 | ///
|
276 318 | /// # Examples
|
277 319 | /// ```no_run
|
278 320 | /// use query_compat_test::config::Config;
|
279 321 | /// use query_compat_test::config::retry::RetryConfig;
|
280 322 | ///
|
281 323 | /// let retry_config = RetryConfig::standard().with_max_attempts(5);
|
282 324 | /// let config = Config::builder().retry_config(retry_config).build();
|
283 325 | /// ```
|
284 326 | pub fn retry_config(mut self, retry_config: ::aws_smithy_types::retry::RetryConfig) -> Self {
|
285 327 | self.set_retry_config(Some(retry_config));
|
286 328 | self
|
287 329 | }
|
288 330 |
|
289 331 | /// Set the retry_config for the builder
|
290 332 | ///
|
291 333 | /// # Examples
|
292 334 | /// ```no_run
|
293 335 | /// use query_compat_test::config::{Builder, Config};
|
294 336 | /// use query_compat_test::config::retry::RetryConfig;
|
295 337 | ///
|
296 338 | /// fn disable_retries(builder: &mut Builder) {
|
297 339 | /// let retry_config = RetryConfig::standard().with_max_attempts(1);
|
298 340 | /// builder.set_retry_config(Some(retry_config));
|
299 341 | /// }
|
300 342 | ///
|
301 343 | /// let mut builder = Config::builder();
|
302 344 | /// disable_retries(&mut builder);
|
303 345 | /// let config = builder.build();
|
304 346 | /// ```
|
347 + | /* ResiliencyConfigCustomization.kt:118 */
|
305 348 | pub fn set_retry_config(&mut self, retry_config: ::std::option::Option<::aws_smithy_types::retry::RetryConfig>) -> &mut Self {
|
306 349 | retry_config.map(|r| self.config.store_put(r));
|
307 350 | self
|
308 351 | }
|
352 + | /* ResiliencyConfigCustomization.kt:128 */
|
309 353 | /// Set the sleep_impl for the builder
|
310 354 | ///
|
311 355 | /// # Examples
|
312 356 | ///
|
313 357 | /// ```no_run
|
314 358 | /// use query_compat_test::config::{AsyncSleep, Config, SharedAsyncSleep, Sleep};
|
315 359 | ///
|
316 360 | /// #[derive(Debug)]
|
317 361 | /// pub struct ForeverSleep;
|
318 362 | ///
|
319 363 | /// impl AsyncSleep for ForeverSleep {
|
320 364 | /// fn sleep(&self, duration: std::time::Duration) -> Sleep {
|
321 365 | /// Sleep::new(std::future::pending())
|
322 366 | /// }
|
323 367 | /// }
|
324 368 | ///
|
325 369 | /// let sleep_impl = SharedAsyncSleep::new(ForeverSleep);
|
326 370 | /// let config = Config::builder().sleep_impl(sleep_impl).build();
|
327 371 | /// ```
|
328 372 | pub fn sleep_impl(mut self, sleep_impl: impl crate::config::AsyncSleep + 'static) -> Self {
|
329 373 | self.set_sleep_impl(Some(::aws_smithy_runtime_api::shared::IntoShared::into_shared(sleep_impl)));
|
330 374 | self
|
331 375 | }
|
332 376 |
|
333 377 | /// Set the sleep_impl for the builder
|
334 378 | ///
|
335 379 | /// # Examples
|
336 380 | ///
|
337 381 | /// ```no_run
|
338 382 | /// use query_compat_test::config::{AsyncSleep, Builder, Config, SharedAsyncSleep, Sleep};
|
339 383 | ///
|
340 384 | /// #[derive(Debug)]
|
341 385 | /// pub struct ForeverSleep;
|
342 386 | ///
|
343 387 | /// impl AsyncSleep for ForeverSleep {
|
344 388 | /// fn sleep(&self, duration: std::time::Duration) -> Sleep {
|
345 389 | /// Sleep::new(std::future::pending())
|
346 390 | /// }
|
347 391 | /// }
|
348 392 | ///
|
349 393 | /// fn set_never_ending_sleep_impl(builder: &mut Builder) {
|
350 394 | /// let sleep_impl = SharedAsyncSleep::new(ForeverSleep);
|
351 395 | /// builder.set_sleep_impl(Some(sleep_impl));
|
352 396 | /// }
|
353 397 | ///
|
354 398 | /// let mut builder = Config::builder();
|
355 399 | /// set_never_ending_sleep_impl(&mut builder);
|
356 400 | /// let config = builder.build();
|
357 401 | /// ```
|
402 + | /* ResiliencyConfigCustomization.kt:184 */
|
358 403 | pub fn set_sleep_impl(&mut self, sleep_impl: ::std::option::Option<crate::config::SharedAsyncSleep>) -> &mut Self {
|
359 404 | self.runtime_components.set_sleep_impl(sleep_impl);
|
360 405 | self
|
361 406 | }
|
407 + | /* ResiliencyConfigCustomization.kt:194 */
|
362 408 | /// Set the timeout_config for the builder
|
363 409 | ///
|
364 410 | /// # Examples
|
365 411 | ///
|
366 412 | /// ```no_run
|
367 413 | /// # use std::time::Duration;
|
368 414 | /// use query_compat_test::config::Config;
|
369 415 | /// use query_compat_test::config::timeout::TimeoutConfig;
|
370 416 | ///
|
371 417 | /// let timeout_config = TimeoutConfig::builder()
|
372 418 | /// .operation_attempt_timeout(Duration::from_secs(1))
|
373 419 | /// .build();
|
374 420 | /// let config = Config::builder().timeout_config(timeout_config).build();
|
375 421 | /// ```
|
376 422 | pub fn timeout_config(mut self, timeout_config: ::aws_smithy_types::timeout::TimeoutConfig) -> Self {
|
377 423 | self.set_timeout_config(Some(timeout_config));
|
378 424 | self
|
379 425 | }
|
380 426 |
|
381 427 | /// Set the timeout_config for the builder.
|
382 428 | ///
|
383 429 | /// Setting this to `None` has no effect if another source of configuration has set timeouts. If you
|
384 430 | /// are attempting to disable timeouts, use [`TimeoutConfig::disabled`](::aws_smithy_types::timeout::TimeoutConfig::disabled)
|
385 431 | ///
|
386 432 | ///
|
387 433 | /// # Examples
|
388 434 | ///
|
389 435 | /// ```no_run
|
390 436 | /// # use std::time::Duration;
|
391 437 | /// use query_compat_test::config::{Builder, Config};
|
392 438 | /// use query_compat_test::config::timeout::TimeoutConfig;
|
393 439 | ///
|
394 440 | /// fn set_request_timeout(builder: &mut Builder) {
|
395 441 | /// let timeout_config = TimeoutConfig::builder()
|
396 442 | /// .operation_attempt_timeout(Duration::from_secs(1))
|
397 443 | /// .build();
|
398 444 | /// builder.set_timeout_config(Some(timeout_config));
|
399 445 | /// }
|
400 446 | ///
|
401 447 | /// let mut builder = Config::builder();
|
402 448 | /// set_request_timeout(&mut builder);
|
403 449 | /// let config = builder.build();
|
404 450 | /// ```
|
451 + | /* ResiliencyConfigCustomization.kt:248 */
|
405 452 | pub fn set_timeout_config(&mut self, timeout_config: ::std::option::Option<::aws_smithy_types::timeout::TimeoutConfig>) -> &mut Self {
|
406 453 | // passing None has no impact.
|
407 454 | let Some(mut timeout_config) = timeout_config else { return self };
|
408 455 |
|
409 456 | if let Some(base) = self.config.load::<::aws_smithy_types::timeout::TimeoutConfig>() {
|
410 457 | timeout_config.take_defaults_from(base);
|
411 458 | }
|
412 459 | self.config.store_put(timeout_config);
|
413 460 | self
|
414 461 | }
|
462 + | /* ResiliencyConfigCustomization.kt:266 */
|
415 463 | /// Set the partition for retry-related state. When clients share a retry partition, they will
|
416 464 | /// also share things like token buckets and client rate limiters. By default, all clients
|
417 465 | /// for the same service will share a partition.
|
418 466 | pub fn retry_partition(mut self, retry_partition: ::aws_smithy_runtime::client::retries::RetryPartition) -> Self {
|
419 467 | self.set_retry_partition(Some(retry_partition));
|
420 468 | self
|
421 469 | }
|
470 + | /* ResiliencyConfigCustomization.kt:279 */
|
422 471 | /// Set the partition for retry-related state. When clients share a retry partition, they will
|
423 472 | /// also share things like token buckets and client rate limiters. By default, all clients
|
424 473 | /// for the same service will share a partition.
|
425 474 | pub fn set_retry_partition(
|
426 475 | &mut self,
|
427 476 | retry_partition: ::std::option::Option<::aws_smithy_runtime::client::retries::RetryPartition>,
|
428 477 | ) -> &mut Self {
|
429 478 | retry_partition.map(|r| self.config.store_put(r));
|
430 479 | self
|
431 480 | }
|
481 + | /* IdentityCacheDecorator.kt:77 */
|
432 482 | /// Set the identity cache for auth.
|
433 483 | ///
|
434 484 | /// The identity cache defaults to a lazy caching implementation that will resolve
|
435 485 | /// an identity when it is requested, and place it in the cache thereafter. Subsequent
|
436 486 | /// requests will take the value from the cache while it is still valid. Once it expires,
|
437 487 | /// the next request will result in refreshing the identity.
|
438 488 | ///
|
439 489 | /// This configuration allows you to disable or change the default caching mechanism.
|
440 490 | /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
|
441 491 | /// trait and pass that implementation into this function.
|
902 957 | self
|
903 958 | }
|
904 959 |
|
905 960 | /// Convenience method to set the latest behavior major version
|
906 961 | ///
|
907 962 | /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
|
908 963 | pub fn behavior_version_latest(mut self) -> Self {
|
909 964 | self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
|
910 965 | self
|
911 966 | }
|
912 - | /// Adds a runtime plugin to the config.
|
967 + | /// /* ServiceConfigGenerator.kt:509 */Adds a runtime plugin to the config.
|
968 + | /* ServiceConfigGenerator.kt:513 */
|
913 969 | pub fn runtime_plugin(mut self, plugin: impl crate::config::RuntimePlugin + 'static) -> Self {
|
914 970 | self.push_runtime_plugin(crate::config::SharedRuntimePlugin::new(plugin));
|
915 971 | self
|
916 972 | }
|
917 - | /// Adds a runtime plugin to the config.
|
973 + | /// /* ServiceConfigGenerator.kt:522 */Adds a runtime plugin to the config.
|
974 + | /* ServiceConfigGenerator.kt:526 */
|
918 975 | pub fn push_runtime_plugin(&mut self, plugin: crate::config::SharedRuntimePlugin) -> &mut Self {
|
919 976 | self.runtime_plugins.push(plugin);
|
920 977 | self
|
921 978 | }
|
979 + | /* RustType.kt:516 */
|
922 980 | #[cfg(any(feature = "test-util", test))]
|
981 + | /* RustType.kt:516 */
|
923 982 | #[allow(unused_mut)]
|
924 - | /// Apply test defaults to the builder
|
983 + | /// /* ServiceConfigGenerator.kt:541 */Apply test defaults to the builder
|
984 + | /* ServiceConfigGenerator.kt:542 */
|
925 985 | pub fn apply_test_defaults(&mut self) -> &mut Self {
|
986 + | /* TimeSourceCustomization.kt:88 */
|
926 987 | self.set_time_source(::std::option::Option::Some(::aws_smithy_async::time::SharedTimeSource::new(
|
927 988 | ::aws_smithy_async::time::StaticTimeSource::new(::std::time::UNIX_EPOCH + ::std::time::Duration::from_secs(1234567890)),
|
928 989 | )));
|
990 + | /* ServiceConfigGenerator.kt:544 */
|
929 991 | self.behavior_version = ::std::option::Option::Some(crate::config::BehaviorVersion::latest());
|
992 + | /* ServiceConfigGenerator.kt:545 */
|
930 993 | self
|
994 + | /* ServiceConfigGenerator.kt:542 */
|
931 995 | }
|
996 + | /* RustType.kt:516 */
|
932 997 | #[cfg(any(feature = "test-util", test))]
|
998 + | /* RustType.kt:516 */
|
933 999 | #[allow(unused_mut)]
|
934 - | /// Apply test defaults to the builder
|
1000 + | /// /* ServiceConfigGenerator.kt:550 */Apply test defaults to the builder
|
1001 + | /* ServiceConfigGenerator.kt:551 */
|
935 1002 | pub fn with_test_defaults(mut self) -> Self {
|
1003 + | /* ServiceConfigGenerator.kt:552 */
|
936 1004 | self.apply_test_defaults();
|
937 1005 | self
|
1006 + | /* ServiceConfigGenerator.kt:551 */
|
938 1007 | }
|
939 - | /// Builds a [`Config`].
|
1008 + | /// /* ServiceConfigGenerator.kt:555 */Builds a [`Config`].
|
1009 + | /* ServiceConfigGenerator.kt:556 */
|
940 1010 | #[allow(unused_mut)]
|
1011 + | /* ServiceConfigGenerator.kt:557 */
|
941 1012 | pub fn build(mut self) -> Config {
|
1013 + | /* ServiceConfigGenerator.kt:558 */
|
942 1014 | let mut layer = self.config;
|
1015 + | /* TimeSourceCustomization.kt:77 */
|
943 1016 | if self.runtime_components.time_source().is_none() {
|
944 1017 | self.runtime_components
|
945 1018 | .set_time_source(::std::option::Option::Some(::std::default::Default::default()));
|
946 1019 | }
|
1020 + | /* ServiceConfigGenerator.kt:567 */
|
947 1021 | Config {
|
1022 + | /* ServiceConfigGenerator.kt:568 */
|
948 1023 | config: crate::config::Layer::from(layer.clone())
|
949 1024 | .with_name("query_compat_test::config::Config")
|
950 1025 | .freeze(),
|
951 1026 | cloneable: layer,
|
952 1027 | runtime_components: self.runtime_components,
|
953 1028 | runtime_plugins: self.runtime_plugins,
|
954 1029 | behavior_version: self.behavior_version,
|
1030 + | /* ServiceConfigGenerator.kt:567 */
|
955 1031 | }
|
1032 + | /* ServiceConfigGenerator.kt:557 */
|
956 1033 | }
|
1034 + | /* ServiceConfigGenerator.kt:492 */
|
957 1035 | }
|
1036 + | /* ServiceRuntimePluginGenerator.kt:116 */
|
958 1037 | #[derive(::std::fmt::Debug)]
|
959 1038 | pub(crate) struct ServiceRuntimePlugin {
|
960 1039 | config: ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer>,
|
961 1040 | runtime_components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
|
962 1041 | }
|
963 1042 |
|
964 1043 | impl ServiceRuntimePlugin {
|
965 1044 | pub fn new(_service_config: crate::config::Config) -> Self {
|
966 1045 | let config = {
|
967 1046 | let mut cfg = ::aws_smithy_types::config_bag::Layer::new("QueryCompatService");
|
968 1047 | cfg.store_put(::aws_smithy_runtime::client::orchestrator::AuthSchemeAndEndpointOrchestrationV2);
|
969 1048 | ::std::option::Option::Some(cfg.freeze())
|
970 1049 | };
|
971 1050 | let mut runtime_components = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("ServiceRuntimePlugin");
|
972 1051 | runtime_components.push_interceptor(::aws_smithy_runtime::client::http::connection_poisoning::ConnectionPoisoningInterceptor::new());
|
973 1052 | runtime_components.push_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::HttpStatusCodeClassifier::default());
|
974 1053 | runtime_components.push_interceptor(crate::sdk_feature_tracker::retry_mode::RetryModeFeatureTrackerInterceptor::new());
|
975 1054 | Self { config, runtime_components }
|
976 1055 | }
|
977 1056 | }
|
978 1057 |
|
979 1058 | impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for ServiceRuntimePlugin {
|
980 1059 | fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
|
981 1060 | self.config.clone()
|
982 1061 | }
|
983 1062 |
|
984 1063 | fn order(&self) -> ::aws_smithy_runtime_api::client::runtime_plugin::Order {
|
985 1064 | ::aws_smithy_runtime_api::client::runtime_plugin::Order::Defaults
|
986 1065 | }
|
987 1066 |
|
988 1067 | fn runtime_components(
|
989 1068 | &self,
|
990 1069 | _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
|
991 1070 | ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
|
992 1071 | ::std::borrow::Cow::Borrowed(&self.runtime_components)
|
993 1072 | }
|
994 1073 | }
|
995 1074 |
|
996 1075 | /// Cross-operation shared-state singletons
|
997 1076 |
|
1077 + | /* ConfigOverrideRuntimePluginGenerator.kt:42 */
|
998 1078 | /// A plugin that enables configuration for a single operation invocation
|
999 1079 | ///
|
1000 1080 | /// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
|
1001 1081 | /// In the case of default values requested, they will be obtained from `client_config`.
|
1002 1082 | #[derive(Debug)]
|
1003 1083 | pub(crate) struct ConfigOverrideRuntimePlugin {
|
1004 1084 | pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
|
1005 1085 | pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
|
1006 1086 | }
|
1007 1087 |
|
1008 1088 | impl ConfigOverrideRuntimePlugin {
|
1009 1089 | #[allow(dead_code)] // unused when a service does not provide any operations
|
1010 1090 | pub(crate) fn new(
|
1011 1091 | config_override: Builder,
|
1012 1092 | initial_config: ::aws_smithy_types::config_bag::FrozenLayer,
|
1013 1093 | initial_components: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
|
1014 1094 | ) -> Self {
|
1015 1095 | let mut layer = config_override.config;
|
1016 1096 | let mut components = config_override.runtime_components;
|
1017 1097 | #[allow(unused_mut)]
|
1018 1098 | let mut resolver =
|
1019 1099 | ::aws_smithy_runtime::client::config_override::Resolver::overrid(initial_config, initial_components, &mut layer, &mut components);
|
1020 1100 |
|
1021 1101 | let _ = resolver;
|
1022 1102 | Self {
|
1023 1103 | config: ::aws_smithy_types::config_bag::Layer::from(layer)
|
1024 1104 | .with_name("query_compat_test::config::ConfigOverrideRuntimePlugin")
|
1025 1105 | .freeze(),
|
1026 1106 | components,
|
1027 1107 | }
|
1028 1108 | }
|
1029 1109 | }
|
1030 1110 |
|
1031 1111 | impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for ConfigOverrideRuntimePlugin {
|
1032 1112 | fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
|
1033 1113 | Some(self.config.clone())
|
1034 1114 | }
|
1035 1115 |
|
1036 1116 | fn runtime_components(
|
1037 1117 | &self,
|
1038 1118 | _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
|
1039 1119 | ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
|
1040 1120 | ::std::borrow::Cow::Borrowed(&self.components)
|
1041 1121 | }
|
1042 1122 | }
|
1043 1123 |
|
1124 + | /* ClientRuntimeTypesReExportGenerator.kt:24 */
|
1044 1125 | pub use ::aws_smithy_runtime::client::identity::IdentityCache;
|
1045 1126 | pub use ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponents;
|
1046 1127 | pub use ::aws_smithy_types::config_bag::ConfigBag;
|
1047 1128 |
|
1129 + | /* ResiliencyConfigCustomization.kt:318 */
|
1048 1130 | pub use ::aws_smithy_async::rt::sleep::Sleep;
|
1049 1131 |
|
1132 + | /* FluentClientGenerator.kt:261 */
|
1050 1133 | pub(crate) fn base_client_runtime_plugins(mut config: crate::Config) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
|
1051 1134 | let mut configured_plugins = ::std::vec::Vec::new();
|
1052 1135 | ::std::mem::swap(&mut config.runtime_plugins, &mut configured_plugins);
|
1053 1136 | #[cfg(feature = "behavior-version-latest")]
|
1054 1137 | {
|
1055 1138 | if config.behavior_version.is_none() {
|
1056 1139 | config.behavior_version = Some(::aws_smithy_runtime_api::client::behavior_version::BehaviorVersion::latest());
|
1057 1140 | }
|
1058 1141 | }
|
1059 1142 |
|
1060 1143 | let default_retry_partition = "querycompatservice";
|
1061 1144 |
|
1062 1145 | let scope = "query-compat-test";
|
1063 1146 |
|
1064 1147 | let mut plugins = ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins::new()
|
1065 1148 | // defaults
|
1066 1149 | .with_client_plugins(::aws_smithy_runtime::client::defaults::default_plugins(
|
1067 1150 | ::aws_smithy_runtime::client::defaults::DefaultPluginParams::new()
|
1068 1151 | .with_retry_partition_name(default_retry_partition)
|
1069 1152 | .with_behavior_version(config.behavior_version.expect("Invalid client configuration: A behavior major version must be set when sending a request or constructing a client. You must set it during client construction or by enabling the `behavior-version-latest` cargo feature."))
|
1070 1153 | ))
|
1071 1154 | // user config
|
1072 1155 | .with_client_plugin(
|
1073 1156 | ::aws_smithy_runtime_api::client::runtime_plugin::StaticRuntimePlugin::new()
|
1074 1157 | .with_config(config.config.clone())
|
1075 1158 | .with_runtime_components(config.runtime_components.clone())
|
1076 1159 | )
|
1077 1160 | // codegen config
|
1078 1161 | .with_client_plugin(crate::config::ServiceRuntimePlugin::new(config.clone()))
|
1079 1162 | .with_client_plugin(::aws_smithy_runtime::client::auth::no_auth::NoAuthRuntimePlugin::new())
|
1080 1163 | .with_client_plugin(
|
1081 1164 | ::aws_smithy_runtime::client::metrics::MetricsRuntimePlugin::builder()
|
1082 1165 | .with_scope(scope)
|
1083 1166 | .with_time_source(config.runtime_components.time_source().unwrap_or_default())
|
1084 1167 | .build()
|
1085 1168 | .expect("All required fields have been set")
|
1086 1169 | );
|
1087 1170 |
|
1088 1171 | for plugin in configured_plugins {
|
1089 1172 | plugins = plugins.with_client_plugin(plugin);
|
1090 1173 | }
|
1091 1174 | plugins
|
1092 1175 | }
|
1093 1176 |
|
1177 + | /* ClientReExports.kt:17 */
|
1094 1178 | pub use ::aws_smithy_types::config_bag::FrozenLayer;
|
1095 1179 |
|
1180 + | /* ClientReExports.kt:17 */
|
1096 1181 | pub use ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder;
|
1097 1182 |
|
1183 + | /* ClientReExports.kt:17 */
|
1098 1184 | pub use ::aws_smithy_runtime_api::client::runtime_plugin::SharedRuntimePlugin;
|
1099 1185 |
|
1186 + | /* ClientReExports.kt:17 */
|
1100 1187 | pub use ::aws_smithy_runtime_api::client::behavior_version::BehaviorVersion;
|
1101 1188 |
|
1189 + | /* ClientReExports.kt:17 */
|
1102 1190 | pub use ::aws_smithy_runtime_api::client::stalled_stream_protection::StalledStreamProtectionConfig;
|
1103 1191 |
|
1192 + | /* ClientReExports.kt:17 */
|
1104 1193 | pub use ::aws_smithy_runtime_api::client::http::SharedHttpClient;
|
1105 1194 |
|
1195 + | /* ClientReExports.kt:17 */
|
1106 1196 | pub use ::aws_smithy_async::rt::sleep::SharedAsyncSleep;
|
1107 1197 |
|
1198 + | /* ClientReExports.kt:17 */
|
1108 1199 | pub use ::aws_smithy_runtime_api::client::identity::SharedIdentityCache;
|
1109 1200 |
|
1201 + | /* ClientReExports.kt:17 */
|
1110 1202 | pub use ::aws_smithy_runtime_api::client::interceptors::SharedInterceptor;
|
1111 1203 |
|
1204 + | /* ClientReExports.kt:17 */
|
1112 1205 | pub use ::aws_smithy_runtime_api::client::http::HttpClient;
|
1113 1206 |
|
1207 + | /* ClientReExports.kt:17 */
|
1114 1208 | pub use ::aws_smithy_runtime_api::shared::IntoShared;
|
1115 1209 |
|
1210 + | /* ClientReExports.kt:17 */
|
1116 1211 | pub use ::aws_smithy_async::rt::sleep::AsyncSleep;
|
1117 1212 |
|
1213 + | /* ClientReExports.kt:17 */
|
1118 1214 | pub use ::aws_smithy_runtime_api::client::identity::ResolveCachedIdentity;
|
1119 1215 |
|
1216 + | /* ClientReExports.kt:17 */
|
1120 1217 | pub use ::aws_smithy_runtime_api::client::interceptors::Intercept;
|
1121 1218 |
|
1219 + | /* ClientReExports.kt:17 */
|
1122 1220 | pub use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
|
1123 1221 |
|
1222 + | /* ClientReExports.kt:17 */
|
1124 1223 | pub use ::aws_smithy_types::config_bag::Layer;
|
1125 1224 |
|
1126 - | /// Types needed to configure endpoint resolution.
|
1225 + | /// /* ClientRustModule.kt:121 */Types needed to configure endpoint resolution.
|
1127 1226 | pub mod endpoint;
|
1128 1227 |
|
1129 - | /// HTTP request and response types.
|
1228 + | /// /* ClientRustModule.kt:121 */HTTP request and response types.
|
1130 1229 | pub mod http;
|
1131 1230 |
|
1132 - | /// Types needed to implement [`Intercept`](crate::config::Intercept).
|
1231 + | /// /* ClientRustModule.kt:121 */Types needed to implement [`Intercept`](crate::config::Intercept).
|
1133 1232 | pub mod interceptors;
|
1134 1233 |
|
1135 - | /// Retry configuration.
|
1234 + | /// /* ClientRustModule.kt:121 */Retry configuration.
|
1136 1235 | pub mod retry;
|
1137 1236 |
|
1138 - | /// Timeout configuration.
|
1237 + | /// /* ClientRustModule.kt:121 */Timeout configuration.
|
1139 1238 | pub mod timeout;
|