Skip to main content

aws_sdk_signin/operation/
put_console_authorization_configuration.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `PutConsoleAuthorizationConfiguration`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct PutConsoleAuthorizationConfiguration;
6impl PutConsoleAuthorizationConfiguration {
7    /// Creates a new `PutConsoleAuthorizationConfiguration`
8    pub fn new() -> Self {
9        Self
10    }
11    pub(crate) async fn orchestrate(
12                        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
13                        input: crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationInput,
14                    ) -> ::std::result::Result<crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationOutput, ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationError, ::aws_smithy_runtime_api::client::orchestrator::HttpResponse>> {
15                        let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError<::aws_smithy_runtime_api::client::interceptors::context::Error, ::aws_smithy_runtime_api::client::orchestrator::HttpResponse>| {
16                            err.map_service_error(|err| {
17                                err.downcast::<crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationError>().expect("correct error type")
18                            })
19                        };
20                        let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None)
21                            .await
22                            .map_err(map_err)?;
23                        let output = context.finalize().map_err(map_err)?;
24                        ::std::result::Result::Ok(output.downcast::<crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationOutput>().expect("correct output type"))
25                    }
26
27                    pub(crate) async fn orchestrate_with_stop_point(
28                        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
29                        input: crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationInput,
30                        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
31                    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext, ::aws_smithy_runtime_api::client::result::SdkError<::aws_smithy_runtime_api::client::interceptors::context::Error, ::aws_smithy_runtime_api::client::orchestrator::HttpResponse>> {
32                        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
33                        use ::tracing::Instrument;
34                        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point(
35                            "Signin",
36                            "PutConsoleAuthorizationConfiguration",
37                            input,
38                            runtime_plugins,
39                            stop_point
40                        )
41                        // Create a parent span for the entire operation. Includes a random, internal-only,
42                        // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
43                        .instrument(::tracing::debug_span!(
44                                "Signin.PutConsoleAuthorizationConfiguration",
45                                "rpc.service" = "Signin",
46                                "rpc.method" = "PutConsoleAuthorizationConfiguration",
47                                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
48                                "rpc.system" = "aws-api",
49                            ))
50                        .await
51                    }
52
53                    pub(crate) fn operation_runtime_plugins(
54                        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
55                        client_config: &crate::config::Config,
56                        config_override: ::std::option::Option<crate::config::Builder>,
57                    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
58                        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
59
60                        if let ::std::option::Option::Some(config_override) = config_override {
61                            for plugin in config_override.runtime_plugins.iter().cloned() {
62                                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
63                            }
64                            runtime_plugins = runtime_plugins.with_operation_plugin(
65                                crate::config::ConfigOverrideRuntimePlugin::new(config_override, client_config.config.clone(), &client_config.runtime_components)
66                            );
67                        }
68                        runtime_plugins
69                    }
70}
71impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for PutConsoleAuthorizationConfiguration {
72                fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
73                    let mut cfg = ::aws_smithy_types::config_bag::Layer::new("PutConsoleAuthorizationConfiguration");
74
75                    cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(PutConsoleAuthorizationConfigurationRequestSerializer));
76                    cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(PutConsoleAuthorizationConfigurationResponseDeserializer));
77
78                    cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
79                        crate::config::auth::Params::builder()
80                            .operation_name("PutConsoleAuthorizationConfiguration")
81                            .build()
82                            .expect("required fields set")
83                    ));
84
85                    cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
86                            "PutConsoleAuthorizationConfiguration",
87                            "Signin",
88                        ));
89let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
90                            signing_options.double_uri_encode = true;
91                            signing_options.content_sha256_header = false;
92                            signing_options.normalize_uri_path = true;
93                            signing_options.payload_override = None;
94
95                            cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
96                                signing_options,
97                                ..::std::default::Default::default()
98                            });
99
100                    ::std::option::Option::Some(cfg.freeze())
101                }
102
103                fn runtime_components(&self, _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
104                    #[allow(unused_mut)]
105                    let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("PutConsoleAuthorizationConfiguration")
106                            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(PutConsoleAuthorizationConfigurationTelemetryInputCaptureInterceptor))
107.with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default()))
108.with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(PutConsoleAuthorizationConfigurationEndpointParamsInterceptor))
109                            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationError>::new())
110.with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationError>::new())
111.with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationError>::new());
112
113                    ::std::borrow::Cow::Owned(rcb)
114                }
115            }
116
117            #[derive(Debug)]
118            struct PutConsoleAuthorizationConfigurationTelemetryInputCaptureInterceptor;
119
120            #[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
121            impl ::aws_smithy_runtime_api::client::interceptors::Intercept for PutConsoleAuthorizationConfigurationTelemetryInputCaptureInterceptor {
122                fn name(&self) -> &'static str {
123                    "PutConsoleAuthorizationConfigurationTelemetryInputCaptureInterceptor"
124                }
125
126                fn read_before_execution(
127                    &self,
128                    context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<'_, ::aws_smithy_runtime_api::client::interceptors::context::Input, ::aws_smithy_runtime_api::client::interceptors::context::Output, ::aws_smithy_runtime_api::client::interceptors::context::Error>,
129                    cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
130                ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
131                    // Nothing to do unless the customer opted in by naming members to record.
132                    let ::std::option::Option::Some(requested) = cfg.load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>().filter(|r| !r.is_empty()) else {
133                        return ::std::result::Result::Ok(());
134                    };
135
136                    let ::std::option::Option::Some(input) = context.input().downcast_ref::<PutConsoleAuthorizationConfigurationInput>() else {
137                        // A mismatched input is not this interceptor's concern; skip quietly.
138                        return ::std::result::Result::Ok(());
139                    };
140
141                    let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
142                    if requested.should_capture("targetId") {
143                        if let ::std::option::Option::Some(value) = input.target_id.as_deref() {
144                            captured.insert("targetId", value);
145                        }
146                    }
147
148                    cfg.interceptor_state().store_put(captured);
149                    ::std::result::Result::Ok(())
150                }
151            }
152#[derive(Debug)]
153            struct PutConsoleAuthorizationConfigurationResponseDeserializer;
154            impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for PutConsoleAuthorizationConfigurationResponseDeserializer {
155
156
157                fn deserialize_nonstreaming_with_config(&self, response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse, _cfg: &::aws_smithy_types::config_bag::ConfigBag) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
158                    let (success, status) = (response.status().is_success(), response.status().as_u16());
159            let headers = response.headers();
160            let body = response.body().bytes().expect("body loaded");
161            #[allow(unused_mut)]
162            let mut force_error = false;
163            ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
164            let parse_result = if !success && status != 200 || force_error {
165                crate::protocol_serde::shape_put_console_authorization_configuration::de_put_console_authorization_configuration_http_error(status, headers, body)
166            } else {
167                crate::protocol_serde::shape_put_console_authorization_configuration::de_put_console_authorization_configuration_http_response(status, headers, body)
168            };
169            crate::protocol_serde::type_erase_result(parse_result)
170                }
171            }
172#[derive(Debug)]
173            struct PutConsoleAuthorizationConfigurationRequestSerializer;
174            impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for PutConsoleAuthorizationConfigurationRequestSerializer {
175                #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
176                fn serialize_input(&self, input: ::aws_smithy_runtime_api::client::interceptors::context::Input, _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
177                    let input = input.downcast::<crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationInput>().expect("correct type");
178                    let _header_serialization_settings = _cfg.load::<crate::serialization_settings::HeaderSerializationSettings>().cloned().unwrap_or_default();
179                    let mut request_builder = {
180                        #[allow(clippy::uninlined_format_args)]
181fn uri_base(_input: &crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationInput, output: &mut ::std::string::String) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
182    use ::std::fmt::Write as _;
183    ::std::write!(output, "/put-console-authorization-configuration").expect("formatting should succeed");
184    ::std::result::Result::Ok(())
185}
186#[allow(clippy::unnecessary_wraps)]
187fn update_http_builder(
188                input: &crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationInput,
189                builder: ::http_1x::request::Builder
190            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
191    let mut uri = ::std::string::String::new();
192    uri_base(input, &mut uri)?;
193    ::std::result::Result::Ok(builder.method("POST").uri(uri))
194}
195let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
196builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
197builder
198                    };
199                    let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_put_console_authorization_configuration::ser_put_console_authorization_configuration_input(&input)?);
200                    if let Some(content_length) = body.content_length() {
201                                let content_length = content_length.to_string();
202                                request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
203                            }
204                    ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
205                }
206            }
207#[derive(Debug)]
208            struct PutConsoleAuthorizationConfigurationEndpointParamsInterceptor;
209
210            #[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
211            impl ::aws_smithy_runtime_api::client::interceptors::Intercept for PutConsoleAuthorizationConfigurationEndpointParamsInterceptor {
212                fn name(&self) -> &'static str {
213                    "PutConsoleAuthorizationConfigurationEndpointParamsInterceptor"
214                }
215
216                fn read_before_execution(
217                    &self,
218                    context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<'_, ::aws_smithy_runtime_api::client::interceptors::context::Input, ::aws_smithy_runtime_api::client::interceptors::context::Output, ::aws_smithy_runtime_api::client::interceptors::context::Error>,
219                    cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
220                ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
221                    let _input = context.input()
222                        .downcast_ref::<PutConsoleAuthorizationConfigurationInput>()
223                        .ok_or("failed to downcast to PutConsoleAuthorizationConfigurationInput")?;
224
225
226
227                    let params = crate::config::endpoint::Params::builder()
228                        .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
229.set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
230.set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
231.set_region(cfg.load::<::aws_types::region::Region>().map(|r|r.as_ref().to_owned()))
232.set_is_control_plane(Some(true))
233                        .build()
234                        .map_err(|err| ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err))?;
235                    cfg.interceptor_state().store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
236                    ::std::result::Result::Ok(())
237                }
238            }
239
240            // The get_* functions below are generated from JMESPath expressions in the
241            // operationContextParams trait. They target the operation's input shape.
242
243
244
245/// Error type for the `PutConsoleAuthorizationConfigurationError` operation.
246#[non_exhaustive]
247#[derive(::std::fmt::Debug)]
248pub enum PutConsoleAuthorizationConfigurationError {
249    /// Error thrown for access denied scenarios with flexible HTTP status mapping Runtime HTTP Status Code Mapping: - HTTP 401 (Unauthorized): TOKEN_EXPIRED, AUTHCODE_EXPIRED - HTTP 403 (Forbidden): USER_CREDENTIALS_CHANGED, INSUFFICIENT_PERMISSIONS The specific HTTP status code is determined at runtime based on the error enum value. Consumers should use the error field to determine the specific access denial reason.
250    AccessDeniedException(crate::types::error::AccessDeniedException),
251    /// Error thrown when request conflicts with current state HTTP Status Code: 409 Conflict Used when the request conflicts with the current state of the resource
252    ConflictException(crate::types::error::ConflictException),
253    /// Error thrown when an internal server error occurs HTTP Status Code: 500 Internal Server Error Used for unexpected server-side errors that prevent request processing.
254    InternalServerException(crate::types::error::InternalServerException),
255    /// Error thrown when requested resource is not found HTTP Status Code: 404 Not Found Used when the specified resource does not exist
256    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
257    /// Error thrown when rate limit is exceeded HTTP Status Code: 429 Too Many Requests Possible OAuth2ErrorCode values: - INVALID_REQUEST: Rate limiting, too many requests, abuse prevention Possible causes: - Too many token requests from the same client - Rate limiting based on client_id or IP address - Abuse prevention mechanisms triggered - Service protection against excessive token generation
258    TooManyRequestsError(crate::types::error::TooManyRequestsError),
259    /// Error thrown when request validation fails HTTP Status Code: 400 Bad Request Used for request validation errors such as malformed parameters, missing required fields, or invalid parameter values.
260    ValidationException(crate::types::error::ValidationException),
261    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
262                    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
263    variable wildcard pattern and check `.code()`:
264     \
265    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
266     \
267    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-PutConsoleAuthorizationConfigurationError) for what information is available for the error.")]
268                    Unhandled(crate::error::sealed_unhandled::Unhandled),
269}
270impl PutConsoleAuthorizationConfigurationError {
271    /// Creates the `PutConsoleAuthorizationConfigurationError::Unhandled` variant from any error type.
272                    pub fn unhandled(err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>) -> Self {
273                        Self::Unhandled(crate::error::sealed_unhandled::Unhandled { source: err.into(), meta: ::std::default::Default::default() })
274                    }
275
276                    /// Creates the `PutConsoleAuthorizationConfigurationError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
277                    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
278                        Self::Unhandled(crate::error::sealed_unhandled::Unhandled { source: err.clone().into(), meta: err })
279                    }
280    ///
281    /// Returns error metadata, which includes the error code, message,
282    /// request ID, and potentially additional information.
283    ///
284    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
285        match self {
286            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
287            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
288            Self::InternalServerException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
289            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
290            Self::TooManyRequestsError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
291            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
292            Self::Unhandled(e) => &e.meta,
293        }
294    }
295    /// Returns `true` if the error kind is `PutConsoleAuthorizationConfigurationError::AccessDeniedException`.
296    pub fn is_access_denied_exception(&self) -> bool {
297        matches!(self, Self::AccessDeniedException(_))
298    }
299    /// Returns `true` if the error kind is `PutConsoleAuthorizationConfigurationError::ConflictException`.
300    pub fn is_conflict_exception(&self) -> bool {
301        matches!(self, Self::ConflictException(_))
302    }
303    /// Returns `true` if the error kind is `PutConsoleAuthorizationConfigurationError::InternalServerException`.
304    pub fn is_internal_server_exception(&self) -> bool {
305        matches!(self, Self::InternalServerException(_))
306    }
307    /// Returns `true` if the error kind is `PutConsoleAuthorizationConfigurationError::ResourceNotFoundException`.
308    pub fn is_resource_not_found_exception(&self) -> bool {
309        matches!(self, Self::ResourceNotFoundException(_))
310    }
311    /// Returns `true` if the error kind is `PutConsoleAuthorizationConfigurationError::TooManyRequestsError`.
312    pub fn is_too_many_requests_error(&self) -> bool {
313        matches!(self, Self::TooManyRequestsError(_))
314    }
315    /// Returns `true` if the error kind is `PutConsoleAuthorizationConfigurationError::ValidationException`.
316    pub fn is_validation_exception(&self) -> bool {
317        matches!(self, Self::ValidationException(_))
318    }
319}
320impl ::std::error::Error for PutConsoleAuthorizationConfigurationError {
321    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
322        match self {
323            Self::AccessDeniedException(_inner) =>
324            ::std::option::Option::Some(_inner)
325            ,
326            Self::ConflictException(_inner) =>
327            ::std::option::Option::Some(_inner)
328            ,
329            Self::InternalServerException(_inner) =>
330            ::std::option::Option::Some(_inner)
331            ,
332            Self::ResourceNotFoundException(_inner) =>
333            ::std::option::Option::Some(_inner)
334            ,
335            Self::TooManyRequestsError(_inner) =>
336            ::std::option::Option::Some(_inner)
337            ,
338            Self::ValidationException(_inner) =>
339            ::std::option::Option::Some(_inner)
340            ,
341            Self::Unhandled(_inner) => {
342                ::std::option::Option::Some(&*_inner.source)
343            }
344        }
345    }
346}
347impl ::std::fmt::Display for PutConsoleAuthorizationConfigurationError {
348    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
349        match self {
350            Self::AccessDeniedException(_inner) =>
351            _inner.fmt(f)
352            ,
353            Self::ConflictException(_inner) =>
354            _inner.fmt(f)
355            ,
356            Self::InternalServerException(_inner) =>
357            _inner.fmt(f)
358            ,
359            Self::ResourceNotFoundException(_inner) =>
360            _inner.fmt(f)
361            ,
362            Self::TooManyRequestsError(_inner) =>
363            _inner.fmt(f)
364            ,
365            Self::ValidationException(_inner) =>
366            _inner.fmt(f)
367            ,
368            Self::Unhandled(_inner) => {
369                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
370                                                        write!(f, "unhandled error ({code})")
371                                                    } else {
372                                                        f.write_str("unhandled error")
373                                                    }
374            }
375        }
376    }
377}
378impl ::aws_smithy_types::retry::ProvideErrorKind for PutConsoleAuthorizationConfigurationError {
379    fn code(&self) -> ::std::option::Option<&str> {
380        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
381    }
382    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
383        ::std::option::Option::None
384    }
385}
386impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for PutConsoleAuthorizationConfigurationError {
387    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
388        match self {
389            Self::AccessDeniedException(_inner) =>
390            ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
391            ,
392            Self::ConflictException(_inner) =>
393            ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
394            ,
395            Self::InternalServerException(_inner) =>
396            ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
397            ,
398            Self::ResourceNotFoundException(_inner) =>
399            ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
400            ,
401            Self::TooManyRequestsError(_inner) =>
402            ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
403            ,
404            Self::ValidationException(_inner) =>
405            ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
406            ,
407            Self::Unhandled(_inner) => {
408                &_inner.meta
409            }
410        }
411    }
412}
413impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for PutConsoleAuthorizationConfigurationError {
414    fn create_unhandled_error(
415                        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
416                        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>
417                    ) -> Self {
418        Self::Unhandled(crate::error::sealed_unhandled::Unhandled { source, meta: meta.unwrap_or_default() })
419    }
420}
421impl ::aws_types::request_id::RequestId for crate::operation::put_console_authorization_configuration::PutConsoleAuthorizationConfigurationError {
422                                fn request_id(&self) -> Option<&str> {
423                                    self.meta().request_id()
424                                }
425                            }
426
427pub use crate::operation::put_console_authorization_configuration::_put_console_authorization_configuration_input::PutConsoleAuthorizationConfigurationInput;
428
429pub use crate::operation::put_console_authorization_configuration::_put_console_authorization_configuration_output::PutConsoleAuthorizationConfigurationOutput;
430
431mod _put_console_authorization_configuration_input;
432
433mod _put_console_authorization_configuration_output;
434
435/// Builders
436pub mod builders;
437