Skip to main content

aws_sdk_codecatalyst/operation/
create_access_token.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `CreateAccessToken`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct CreateAccessToken;
6impl CreateAccessToken {
7    /// Creates a new `CreateAccessToken`
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::create_access_token::CreateAccessTokenInput,
14    ) -> ::std::result::Result<
15        crate::operation::create_access_token::CreateAccessTokenOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::create_access_token::CreateAccessTokenError,
18            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
19        >,
20    > {
21        let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError<
22            ::aws_smithy_runtime_api::client::interceptors::context::Error,
23            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
24        >| {
25            err.map_service_error(|err| {
26                err.downcast::<crate::operation::create_access_token::CreateAccessTokenError>()
27                    .expect("correct error type")
28            })
29        };
30        let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None)
31            .await
32            .map_err(map_err)?;
33        let output = context.finalize().map_err(map_err)?;
34        ::std::result::Result::Ok(
35            output
36                .downcast::<crate::operation::create_access_token::CreateAccessTokenOutput>()
37                .expect("correct output type"),
38        )
39    }
40
41    pub(crate) async fn orchestrate_with_stop_point(
42        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
43        input: crate::operation::create_access_token::CreateAccessTokenInput,
44        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
45    ) -> ::std::result::Result<
46        ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext,
47        ::aws_smithy_runtime_api::client::result::SdkError<
48            ::aws_smithy_runtime_api::client::interceptors::context::Error,
49            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
50        >,
51    > {
52        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
53        use ::tracing::Instrument;
54        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point("CodeCatalyst", "CreateAccessToken", input, runtime_plugins, stop_point)
55            // Create a parent span for the entire operation. Includes a random, internal-only,
56            // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
57            .instrument(::tracing::debug_span!(
58                "CodeCatalyst.CreateAccessToken",
59                "rpc.service" = "CodeCatalyst",
60                "rpc.method" = "CreateAccessToken",
61                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
62                "rpc.system" = "aws-api",
63            ))
64            .await
65    }
66
67    pub(crate) fn operation_runtime_plugins(
68        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
69        client_config: &crate::config::Config,
70        config_override: ::std::option::Option<crate::config::Builder>,
71    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
72        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
73
74        if let ::std::option::Option::Some(config_override) = config_override {
75            for plugin in config_override.runtime_plugins.iter().cloned() {
76                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
77            }
78            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
79                config_override,
80                client_config.config.clone(),
81                &client_config.runtime_components,
82            ));
83        }
84        runtime_plugins
85    }
86}
87impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for CreateAccessToken {
88    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
89        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("CreateAccessToken");
90
91        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
92            CreateAccessTokenRequestSerializer,
93        ));
94        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
95            CreateAccessTokenResponseDeserializer,
96        ));
97
98        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
99            crate::config::auth::Params::builder()
100                .operation_name("CreateAccessToken")
101                .build()
102                .expect("required fields set"),
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::SensitiveOutput);
106        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
107            "CreateAccessToken",
108            "CodeCatalyst",
109        ));
110
111        ::std::option::Option::Some(cfg.freeze())
112    }
113
114    fn runtime_components(
115        &self,
116        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
117    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
118        #[allow(unused_mut)]
119        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("CreateAccessToken")
120            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
121                CreateAccessTokenTelemetryInputCaptureInterceptor,
122            ))
123            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
124                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
125            ))
126            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
127                CreateAccessTokenEndpointParamsInterceptor,
128            ))
129            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
130                crate::operation::create_access_token::CreateAccessTokenError,
131            >::new())
132            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
133                crate::operation::create_access_token::CreateAccessTokenError,
134            >::new())
135            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
136                crate::operation::create_access_token::CreateAccessTokenError,
137            >::new());
138
139        ::std::borrow::Cow::Owned(rcb)
140    }
141}
142
143#[derive(Debug)]
144struct CreateAccessTokenTelemetryInputCaptureInterceptor;
145
146#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
147impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateAccessTokenTelemetryInputCaptureInterceptor {
148    fn name(&self) -> &'static str {
149        "CreateAccessTokenTelemetryInputCaptureInterceptor"
150    }
151
152    fn read_before_execution(
153        &self,
154        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
155            '_,
156            ::aws_smithy_runtime_api::client::interceptors::context::Input,
157            ::aws_smithy_runtime_api::client::interceptors::context::Output,
158            ::aws_smithy_runtime_api::client::interceptors::context::Error,
159        >,
160        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
161    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
162        // Nothing to do unless the customer opted in by naming members to record.
163        let ::std::option::Option::Some(requested) = cfg
164            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
165            .filter(|r| !r.is_empty())
166        else {
167            return ::std::result::Result::Ok(());
168        };
169
170        let ::std::option::Option::Some(input) = context.input().downcast_ref::<CreateAccessTokenInput>() else {
171            // A mismatched input is not this interceptor's concern; skip quietly.
172            return ::std::result::Result::Ok(());
173        };
174
175        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
176        if requested.should_capture("name") {
177            if let ::std::option::Option::Some(value) = input.name.as_deref() {
178                captured.insert("name", value);
179            }
180        }
181
182        cfg.interceptor_state().store_put(captured);
183        ::std::result::Result::Ok(())
184    }
185}
186#[derive(Debug)]
187struct CreateAccessTokenResponseDeserializer;
188impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateAccessTokenResponseDeserializer {
189    fn deserialize_nonstreaming_with_config(
190        &self,
191        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
192        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
193    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
194        let (success, status) = (response.status().is_success(), response.status().as_u16());
195        let headers = response.headers();
196        let body = response.body().bytes().expect("body loaded");
197        #[allow(unused_mut)]
198        let mut force_error = false;
199        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
200        let parse_result = if !success && status != 201 || force_error {
201            crate::protocol_serde::shape_create_access_token::de_create_access_token_http_error(status, headers, body)
202        } else {
203            crate::protocol_serde::shape_create_access_token::de_create_access_token_http_response(status, headers, body)
204        };
205        crate::protocol_serde::type_erase_result(parse_result)
206    }
207}
208#[derive(Debug)]
209struct CreateAccessTokenRequestSerializer;
210impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for CreateAccessTokenRequestSerializer {
211    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
212    fn serialize_input(
213        &self,
214        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
215        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
216    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
217        let input = input
218            .downcast::<crate::operation::create_access_token::CreateAccessTokenInput>()
219            .expect("correct type");
220        let _header_serialization_settings = _cfg
221            .load::<crate::serialization_settings::HeaderSerializationSettings>()
222            .cloned()
223            .unwrap_or_default();
224        let mut request_builder = {
225            #[allow(clippy::uninlined_format_args)]
226            fn uri_base(
227                _input: &crate::operation::create_access_token::CreateAccessTokenInput,
228                output: &mut ::std::string::String,
229            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
230                use ::std::fmt::Write as _;
231                ::std::write!(output, "/v1/accessTokens").expect("formatting should succeed");
232                ::std::result::Result::Ok(())
233            }
234            #[allow(clippy::unnecessary_wraps)]
235            fn update_http_builder(
236                input: &crate::operation::create_access_token::CreateAccessTokenInput,
237                builder: ::http_1x::request::Builder,
238            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
239                let mut uri = ::std::string::String::new();
240                uri_base(input, &mut uri)?;
241                ::std::result::Result::Ok(builder.method("PUT").uri(uri))
242            }
243            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
244            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
245            builder
246        };
247        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_create_access_token::ser_create_access_token_input(&input)?);
248        if let Some(content_length) = body.content_length() {
249            let content_length = content_length.to_string();
250            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
251        }
252        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
253    }
254}
255#[derive(Debug)]
256struct CreateAccessTokenEndpointParamsInterceptor;
257
258#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
259impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateAccessTokenEndpointParamsInterceptor {
260    fn name(&self) -> &'static str {
261        "CreateAccessTokenEndpointParamsInterceptor"
262    }
263
264    fn read_before_execution(
265        &self,
266        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
267            '_,
268            ::aws_smithy_runtime_api::client::interceptors::context::Input,
269            ::aws_smithy_runtime_api::client::interceptors::context::Output,
270            ::aws_smithy_runtime_api::client::interceptors::context::Error,
271        >,
272        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
273    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
274        let _input = context
275            .input()
276            .downcast_ref::<CreateAccessTokenInput>()
277            .ok_or("failed to downcast to CreateAccessTokenInput")?;
278
279        let params = crate::config::endpoint::Params::builder()
280            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
281            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
282            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
283            .build()
284            .map_err(|err| {
285                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
286            })?;
287        cfg.interceptor_state()
288            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
289        ::std::result::Result::Ok(())
290    }
291}
292
293// The get_* functions below are generated from JMESPath expressions in the
294// operationContextParams trait. They target the operation's input shape.
295
296/// Error type for the `CreateAccessTokenError` operation.
297#[non_exhaustive]
298#[derive(::std::fmt::Debug)]
299pub enum CreateAccessTokenError {
300    /// <p>The request was denied because you don't have sufficient access to perform this action. Verify that you are a member of a role that allows this action.</p>
301    AccessDeniedException(crate::types::error::AccessDeniedException),
302    /// <p>The request was denied because the requested operation would cause a conflict with the current state of a service resource associated with the request. Another user might have updated the resource. Reload, make sure you have the latest data, and then try again.</p>
303    ConflictException(crate::types::error::ConflictException),
304    /// <p>The request was denied because the specified resource was not found. Verify that the spelling is correct and that you have access to the resource.</p>
305    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
306    /// <p>The request was denied because one or more resources has reached its limits for the tier the space belongs to. Either reduce the number of resources, or change the tier if applicable.</p>
307    ServiceQuotaExceededException(crate::types::error::ServiceQuotaExceededException),
308    /// <p>The request was denied due to request throttling.</p>
309    ThrottlingException(crate::types::error::ThrottlingException),
310    /// <p>The request was denied because an input failed to satisfy the constraints specified by the service. Check the spelling and input requirements, and then try again.</p>
311    ValidationException(crate::types::error::ValidationException),
312    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
313    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
314    variable wildcard pattern and check `.code()`:
315     \
316    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
317     \
318    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-CreateAccessTokenError) for what information is available for the error.")]
319    Unhandled(crate::error::sealed_unhandled::Unhandled),
320}
321impl CreateAccessTokenError {
322    /// Creates the `CreateAccessTokenError::Unhandled` variant from any error type.
323    pub fn unhandled(
324        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
325    ) -> Self {
326        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
327            source: err.into(),
328            meta: ::std::default::Default::default(),
329        })
330    }
331
332    /// Creates the `CreateAccessTokenError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
333    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
334        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
335            source: err.clone().into(),
336            meta: err,
337        })
338    }
339    ///
340    /// Returns error metadata, which includes the error code, message,
341    /// request ID, and potentially additional information.
342    ///
343    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
344        match self {
345            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
346            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
347            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
348            Self::ServiceQuotaExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
349            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
350            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
351            Self::Unhandled(e) => &e.meta,
352        }
353    }
354    /// Returns `true` if the error kind is `CreateAccessTokenError::AccessDeniedException`.
355    pub fn is_access_denied_exception(&self) -> bool {
356        matches!(self, Self::AccessDeniedException(_))
357    }
358    /// Returns `true` if the error kind is `CreateAccessTokenError::ConflictException`.
359    pub fn is_conflict_exception(&self) -> bool {
360        matches!(self, Self::ConflictException(_))
361    }
362    /// Returns `true` if the error kind is `CreateAccessTokenError::ResourceNotFoundException`.
363    pub fn is_resource_not_found_exception(&self) -> bool {
364        matches!(self, Self::ResourceNotFoundException(_))
365    }
366    /// Returns `true` if the error kind is `CreateAccessTokenError::ServiceQuotaExceededException`.
367    pub fn is_service_quota_exceeded_exception(&self) -> bool {
368        matches!(self, Self::ServiceQuotaExceededException(_))
369    }
370    /// Returns `true` if the error kind is `CreateAccessTokenError::ThrottlingException`.
371    pub fn is_throttling_exception(&self) -> bool {
372        matches!(self, Self::ThrottlingException(_))
373    }
374    /// Returns `true` if the error kind is `CreateAccessTokenError::ValidationException`.
375    pub fn is_validation_exception(&self) -> bool {
376        matches!(self, Self::ValidationException(_))
377    }
378}
379impl ::std::error::Error for CreateAccessTokenError {
380    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
381        match self {
382            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
383            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
384            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
385            Self::ServiceQuotaExceededException(_inner) => ::std::option::Option::Some(_inner),
386            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
387            Self::ValidationException(_inner) => ::std::option::Option::Some(_inner),
388            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
389        }
390    }
391}
392impl ::std::fmt::Display for CreateAccessTokenError {
393    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
394        match self {
395            Self::AccessDeniedException(_inner) => _inner.fmt(f),
396            Self::ConflictException(_inner) => _inner.fmt(f),
397            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
398            Self::ServiceQuotaExceededException(_inner) => _inner.fmt(f),
399            Self::ThrottlingException(_inner) => _inner.fmt(f),
400            Self::ValidationException(_inner) => _inner.fmt(f),
401            Self::Unhandled(_inner) => {
402                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
403                    write!(f, "unhandled error ({code})")
404                } else {
405                    f.write_str("unhandled error")
406                }
407            }
408        }
409    }
410}
411impl ::aws_smithy_types::retry::ProvideErrorKind for CreateAccessTokenError {
412    fn code(&self) -> ::std::option::Option<&str> {
413        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
414    }
415    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
416        match self {
417            Self::ThrottlingException(inner) => ::std::option::Option::Some(inner.retryable_error_kind()),
418            _ => ::std::option::Option::None,
419        }
420    }
421}
422impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for CreateAccessTokenError {
423    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
424        match self {
425            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
426            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
427            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
428            Self::ServiceQuotaExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
429            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
430            Self::ValidationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
431            Self::Unhandled(_inner) => &_inner.meta,
432        }
433    }
434}
435impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for CreateAccessTokenError {
436    fn create_unhandled_error(
437        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
438        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
439    ) -> Self {
440        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
441            source,
442            meta: meta.unwrap_or_default(),
443        })
444    }
445}
446impl ::aws_types::request_id::RequestId for crate::operation::create_access_token::CreateAccessTokenError {
447    fn request_id(&self) -> Option<&str> {
448        self.meta().request_id()
449    }
450}
451
452pub use crate::operation::create_access_token::_create_access_token_input::CreateAccessTokenInput;
453
454pub use crate::operation::create_access_token::_create_access_token_output::CreateAccessTokenOutput;
455
456mod _create_access_token_input;
457
458mod _create_access_token_output;
459
460/// Builders
461pub mod builders;