Skip to main content

aws_sdk_redshift/operation/
modify_integration.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `ModifyIntegration`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct ModifyIntegration;
6impl ModifyIntegration {
7    /// Creates a new `ModifyIntegration`
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::modify_integration::ModifyIntegrationInput,
14    ) -> ::std::result::Result<
15        crate::operation::modify_integration::ModifyIntegrationOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::modify_integration::ModifyIntegrationError,
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::modify_integration::ModifyIntegrationError>()
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::modify_integration::ModifyIntegrationOutput>()
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::modify_integration::ModifyIntegrationInput,
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("Redshift", "ModifyIntegration", 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                "Redshift.ModifyIntegration",
59                "rpc.service" = "Redshift",
60                "rpc.method" = "ModifyIntegration",
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 ModifyIntegration {
88    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
89        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("ModifyIntegration");
90
91        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
92            ModifyIntegrationRequestSerializer,
93        ));
94        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
95            ModifyIntegrationResponseDeserializer,
96        ));
97
98        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
99            crate::config::auth::Params::builder()
100                .operation_name("ModifyIntegration")
101                .build()
102                .expect("required fields set"),
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
106            "ModifyIntegration",
107            "Redshift",
108        ));
109        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
110        signing_options.double_uri_encode = true;
111        signing_options.content_sha256_header = false;
112        signing_options.normalize_uri_path = true;
113        signing_options.payload_override = None;
114
115        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
116            signing_options,
117            ..::std::default::Default::default()
118        });
119
120        ::std::option::Option::Some(cfg.freeze())
121    }
122
123    fn runtime_components(
124        &self,
125        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
126    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
127        #[allow(unused_mut)]
128        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("ModifyIntegration")
129            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
130                ModifyIntegrationTelemetryInputCaptureInterceptor,
131            ))
132            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
133                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
134            ))
135            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
136                ModifyIntegrationEndpointParamsInterceptor,
137            ))
138            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
139                crate::operation::modify_integration::ModifyIntegrationError,
140            >::new())
141            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
142                crate::operation::modify_integration::ModifyIntegrationError,
143            >::new())
144            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
145                crate::operation::modify_integration::ModifyIntegrationError,
146            >::new());
147
148        ::std::borrow::Cow::Owned(rcb)
149    }
150}
151
152#[derive(Debug)]
153struct ModifyIntegrationTelemetryInputCaptureInterceptor;
154
155#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
156impl ::aws_smithy_runtime_api::client::interceptors::Intercept for ModifyIntegrationTelemetryInputCaptureInterceptor {
157    fn name(&self) -> &'static str {
158        "ModifyIntegrationTelemetryInputCaptureInterceptor"
159    }
160
161    fn read_before_execution(
162        &self,
163        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
164            '_,
165            ::aws_smithy_runtime_api::client::interceptors::context::Input,
166            ::aws_smithy_runtime_api::client::interceptors::context::Output,
167            ::aws_smithy_runtime_api::client::interceptors::context::Error,
168        >,
169        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
170    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
171        // Nothing to do unless the customer opted in by naming members to record.
172        let ::std::option::Option::Some(requested) = cfg
173            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
174            .filter(|r| !r.is_empty())
175        else {
176            return ::std::result::Result::Ok(());
177        };
178
179        let ::std::option::Option::Some(input) = context.input().downcast_ref::<ModifyIntegrationInput>() else {
180            // A mismatched input is not this interceptor's concern; skip quietly.
181            return ::std::result::Result::Ok(());
182        };
183
184        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
185        if requested.should_capture("IntegrationArn") {
186            if let ::std::option::Option::Some(value) = input.integration_arn.as_deref() {
187                captured.insert("IntegrationArn", value);
188            }
189        }
190        if requested.should_capture("Description") {
191            if let ::std::option::Option::Some(value) = input.description.as_deref() {
192                captured.insert("Description", value);
193            }
194        }
195        if requested.should_capture("IntegrationName") {
196            if let ::std::option::Option::Some(value) = input.integration_name.as_deref() {
197                captured.insert("IntegrationName", value);
198            }
199        }
200
201        cfg.interceptor_state().store_put(captured);
202        ::std::result::Result::Ok(())
203    }
204}
205#[derive(Debug)]
206struct ModifyIntegrationResponseDeserializer;
207impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for ModifyIntegrationResponseDeserializer {
208    fn deserialize_nonstreaming_with_config(
209        &self,
210        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
211        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
212    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
213        let (success, status) = (response.status().is_success(), response.status().as_u16());
214        let headers = response.headers();
215        let body = response.body().bytes().expect("body loaded");
216        #[allow(unused_mut)]
217        let mut force_error = false;
218        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
219        let parse_result = if !success && status != 200 || force_error {
220            crate::protocol_serde::shape_modify_integration::de_modify_integration_http_error(status, headers, body)
221        } else {
222            crate::protocol_serde::shape_modify_integration::de_modify_integration_http_response(status, headers, body)
223        };
224        crate::protocol_serde::type_erase_result(parse_result)
225    }
226}
227#[derive(Debug)]
228struct ModifyIntegrationRequestSerializer;
229impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for ModifyIntegrationRequestSerializer {
230    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
231    fn serialize_input(
232        &self,
233        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
234        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
235    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
236        let input = input
237            .downcast::<crate::operation::modify_integration::ModifyIntegrationInput>()
238            .expect("correct type");
239        let _header_serialization_settings = _cfg
240            .load::<crate::serialization_settings::HeaderSerializationSettings>()
241            .cloned()
242            .unwrap_or_default();
243        let mut request_builder = {
244            #[allow(clippy::uninlined_format_args)]
245            fn uri_base(
246                _input: &crate::operation::modify_integration::ModifyIntegrationInput,
247                output: &mut ::std::string::String,
248            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
249                use ::std::fmt::Write as _;
250                ::std::write!(output, "/").expect("formatting should succeed");
251                ::std::result::Result::Ok(())
252            }
253            #[allow(clippy::unnecessary_wraps)]
254            fn update_http_builder(
255                input: &crate::operation::modify_integration::ModifyIntegrationInput,
256                builder: ::http_1x::request::Builder,
257            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
258                let mut uri = ::std::string::String::new();
259                uri_base(input, &mut uri)?;
260                ::std::result::Result::Ok(builder.method("POST").uri(uri))
261            }
262            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
263            builder =
264                _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-www-form-urlencoded");
265            builder
266        };
267        let body = ::aws_smithy_types::body::SdkBody::from(
268            crate::protocol_serde::shape_modify_integration_input::ser_modify_integration_input_input_input(&input)?,
269        );
270        if let Some(content_length) = body.content_length() {
271            let content_length = content_length.to_string();
272            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
273        }
274        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
275    }
276}
277#[derive(Debug)]
278struct ModifyIntegrationEndpointParamsInterceptor;
279
280#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
281impl ::aws_smithy_runtime_api::client::interceptors::Intercept for ModifyIntegrationEndpointParamsInterceptor {
282    fn name(&self) -> &'static str {
283        "ModifyIntegrationEndpointParamsInterceptor"
284    }
285
286    fn read_before_execution(
287        &self,
288        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
289            '_,
290            ::aws_smithy_runtime_api::client::interceptors::context::Input,
291            ::aws_smithy_runtime_api::client::interceptors::context::Output,
292            ::aws_smithy_runtime_api::client::interceptors::context::Error,
293        >,
294        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
295    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
296        let _input = context
297            .input()
298            .downcast_ref::<ModifyIntegrationInput>()
299            .ok_or("failed to downcast to ModifyIntegrationInput")?;
300
301        let params = crate::config::endpoint::Params::builder()
302            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
303            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
304            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
305            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
306            .build()
307            .map_err(|err| {
308                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
309            })?;
310        cfg.interceptor_state()
311            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
312        ::std::result::Result::Ok(())
313    }
314}
315
316// The get_* functions below are generated from JMESPath expressions in the
317// operationContextParams trait. They target the operation's input shape.
318
319/// Error type for the `ModifyIntegrationError` operation.
320#[non_exhaustive]
321#[derive(::std::fmt::Debug)]
322pub enum ModifyIntegrationError {
323    /// <p>The integration you are trying to create already exists.</p>
324    IntegrationAlreadyExistsFault(crate::types::error::IntegrationAlreadyExistsFault),
325    /// <p>A conflicting conditional operation is currently in progress against this resource. This typically occurs when there are multiple requests being made to the same resource at the same time, and these requests conflict with each other.</p>
326    IntegrationConflictOperationFault(crate::types::error::IntegrationConflictOperationFault),
327    /// <p>The integration is in an invalid state and can't perform the requested operation.</p>
328    IntegrationConflictStateFault(crate::types::error::IntegrationConflictStateFault),
329    /// <p>The integration can't be found.</p>
330    IntegrationNotFoundFault(crate::types::error::IntegrationNotFoundFault),
331    /// <p>The requested operation isn't supported.</p>
332    UnsupportedOperationFault(crate::types::error::UnsupportedOperationFault),
333    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
334    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
335    variable wildcard pattern and check `.code()`:
336     \
337    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
338     \
339    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-ModifyIntegrationError) for what information is available for the error.")]
340    Unhandled(crate::error::sealed_unhandled::Unhandled),
341}
342impl ModifyIntegrationError {
343    /// Creates the `ModifyIntegrationError::Unhandled` variant from any error type.
344    pub fn unhandled(
345        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
346    ) -> Self {
347        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
348            source: err.into(),
349            meta: ::std::default::Default::default(),
350        })
351    }
352
353    /// Creates the `ModifyIntegrationError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
354    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
355        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
356            source: err.clone().into(),
357            meta: err,
358        })
359    }
360    ///
361    /// Returns error metadata, which includes the error code, message,
362    /// request ID, and potentially additional information.
363    ///
364    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
365        match self {
366            Self::IntegrationAlreadyExistsFault(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
367            Self::IntegrationConflictOperationFault(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
368            Self::IntegrationConflictStateFault(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
369            Self::IntegrationNotFoundFault(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
370            Self::UnsupportedOperationFault(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
371            Self::Unhandled(e) => &e.meta,
372        }
373    }
374    /// Returns `true` if the error kind is `ModifyIntegrationError::IntegrationAlreadyExistsFault`.
375    pub fn is_integration_already_exists_fault(&self) -> bool {
376        matches!(self, Self::IntegrationAlreadyExistsFault(_))
377    }
378    /// Returns `true` if the error kind is `ModifyIntegrationError::IntegrationConflictOperationFault`.
379    pub fn is_integration_conflict_operation_fault(&self) -> bool {
380        matches!(self, Self::IntegrationConflictOperationFault(_))
381    }
382    /// Returns `true` if the error kind is `ModifyIntegrationError::IntegrationConflictStateFault`.
383    pub fn is_integration_conflict_state_fault(&self) -> bool {
384        matches!(self, Self::IntegrationConflictStateFault(_))
385    }
386    /// Returns `true` if the error kind is `ModifyIntegrationError::IntegrationNotFoundFault`.
387    pub fn is_integration_not_found_fault(&self) -> bool {
388        matches!(self, Self::IntegrationNotFoundFault(_))
389    }
390    /// Returns `true` if the error kind is `ModifyIntegrationError::UnsupportedOperationFault`.
391    pub fn is_unsupported_operation_fault(&self) -> bool {
392        matches!(self, Self::UnsupportedOperationFault(_))
393    }
394}
395impl ::std::error::Error for ModifyIntegrationError {
396    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
397        match self {
398            Self::IntegrationAlreadyExistsFault(_inner) => ::std::option::Option::Some(_inner),
399            Self::IntegrationConflictOperationFault(_inner) => ::std::option::Option::Some(_inner),
400            Self::IntegrationConflictStateFault(_inner) => ::std::option::Option::Some(_inner),
401            Self::IntegrationNotFoundFault(_inner) => ::std::option::Option::Some(_inner),
402            Self::UnsupportedOperationFault(_inner) => ::std::option::Option::Some(_inner),
403            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
404        }
405    }
406}
407impl ::std::fmt::Display for ModifyIntegrationError {
408    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
409        match self {
410            Self::IntegrationAlreadyExistsFault(_inner) => _inner.fmt(f),
411            Self::IntegrationConflictOperationFault(_inner) => _inner.fmt(f),
412            Self::IntegrationConflictStateFault(_inner) => _inner.fmt(f),
413            Self::IntegrationNotFoundFault(_inner) => _inner.fmt(f),
414            Self::UnsupportedOperationFault(_inner) => _inner.fmt(f),
415            Self::Unhandled(_inner) => {
416                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
417                    write!(f, "unhandled error ({code})")
418                } else {
419                    f.write_str("unhandled error")
420                }
421            }
422        }
423    }
424}
425impl ::aws_smithy_types::retry::ProvideErrorKind for ModifyIntegrationError {
426    fn code(&self) -> ::std::option::Option<&str> {
427        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
428    }
429    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
430        ::std::option::Option::None
431    }
432}
433impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for ModifyIntegrationError {
434    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
435        match self {
436            Self::IntegrationAlreadyExistsFault(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
437            Self::IntegrationConflictOperationFault(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
438            Self::IntegrationConflictStateFault(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
439            Self::IntegrationNotFoundFault(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
440            Self::UnsupportedOperationFault(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
441            Self::Unhandled(_inner) => &_inner.meta,
442        }
443    }
444}
445impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for ModifyIntegrationError {
446    fn create_unhandled_error(
447        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
448        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
449    ) -> Self {
450        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
451            source,
452            meta: meta.unwrap_or_default(),
453        })
454    }
455}
456impl ::aws_types::request_id::RequestId for crate::operation::modify_integration::ModifyIntegrationError {
457    fn request_id(&self) -> Option<&str> {
458        self.meta().request_id()
459    }
460}
461
462pub use crate::operation::modify_integration::_modify_integration_input::ModifyIntegrationInput;
463
464pub use crate::operation::modify_integration::_modify_integration_output::ModifyIntegrationOutput;
465
466mod _modify_integration_input;
467
468mod _modify_integration_output;
469
470/// Builders
471pub mod builders;