AWS SDK

AWS SDK

rev. aa190e630077955f0bc8f58dee6a16530c1e0578

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/update_ops_item/builders.rs

@@ -0,1 +0,374 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub use crate::operation::update_ops_item::_update_ops_item_input::UpdateOpsItemInputBuilder;
           3  +
           4  +
pub use crate::operation::update_ops_item::_update_ops_item_output::UpdateOpsItemOutputBuilder;
           5  +
           6  +
impl crate::operation::update_ops_item::builders::UpdateOpsItemInputBuilder {
           7  +
    /// Sends a request with this input using the given client.
           8  +
    pub async fn send_with(
           9  +
        self,
          10  +
        client: &crate::Client,
          11  +
    ) -> ::std::result::Result<
          12  +
        crate::operation::update_ops_item::UpdateOpsItemOutput,
          13  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          14  +
            crate::operation::update_ops_item::UpdateOpsItemError,
          15  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          16  +
        >,
          17  +
    > {
          18  +
        let mut fluent_builder = client.update_ops_item();
          19  +
        fluent_builder.inner = self;
          20  +
        fluent_builder.send().await
          21  +
    }
          22  +
}
          23  +
/// Fluent builder constructing a request to `UpdateOpsItem`.
          24  +
///
          25  +
/// <p>Edit or change an OpsItem. You must have permission in Identity and Access Management (IAM) to update an OpsItem. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html">Set up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          26  +
/// <p>Operations engineers and IT professionals use Amazon Web Services Systems Manager OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their Amazon Web Services resources. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html">Amazon Web Services Systems Manager OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          27  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          28  +
pub struct UpdateOpsItemFluentBuilder {
          29  +
    handle: ::std::sync::Arc<crate::client::Handle>,
          30  +
    inner: crate::operation::update_ops_item::builders::UpdateOpsItemInputBuilder,
          31  +
    config_override: ::std::option::Option<crate::config::Builder>,
          32  +
}
          33  +
impl
          34  +
    crate::client::customize::internal::CustomizableSend<
          35  +
        crate::operation::update_ops_item::UpdateOpsItemOutput,
          36  +
        crate::operation::update_ops_item::UpdateOpsItemError,
          37  +
    > for UpdateOpsItemFluentBuilder
          38  +
{
          39  +
    fn send(
          40  +
        self,
          41  +
        config_override: crate::config::Builder,
          42  +
    ) -> crate::client::customize::internal::BoxFuture<
          43  +
        crate::client::customize::internal::SendResult<
          44  +
            crate::operation::update_ops_item::UpdateOpsItemOutput,
          45  +
            crate::operation::update_ops_item::UpdateOpsItemError,
          46  +
        >,
          47  +
    > {
          48  +
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
          49  +
    }
          50  +
}
          51  +
impl UpdateOpsItemFluentBuilder {
          52  +
    /// Creates a new `UpdateOpsItemFluentBuilder`.
          53  +
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
          54  +
        Self {
          55  +
            handle,
          56  +
            inner: ::std::default::Default::default(),
          57  +
            config_override: ::std::option::Option::None,
          58  +
        }
          59  +
    }
          60  +
    /// Access the UpdateOpsItem as a reference.
          61  +
    pub fn as_input(&self) -> &crate::operation::update_ops_item::builders::UpdateOpsItemInputBuilder {
          62  +
        &self.inner
          63  +
    }
          64  +
    /// Sends the request and returns the response.
          65  +
    ///
          66  +
    /// If an error occurs, an `SdkError` will be returned with additional details that
          67  +
    /// can be matched against.
          68  +
    ///
          69  +
    /// By default, any retryable failures will be retried twice. Retry behavior
          70  +
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
          71  +
    /// set when configuring the client.
          72  +
    pub async fn send(
          73  +
        self,
          74  +
    ) -> ::std::result::Result<
          75  +
        crate::operation::update_ops_item::UpdateOpsItemOutput,
          76  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          77  +
            crate::operation::update_ops_item::UpdateOpsItemError,
          78  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          79  +
        >,
          80  +
    > {
          81  +
        let input = self
          82  +
            .inner
          83  +
            .build()
          84  +
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
          85  +
        let runtime_plugins = crate::operation::update_ops_item::UpdateOpsItem::operation_runtime_plugins(
          86  +
            self.handle.runtime_plugins.clone(),
          87  +
            &self.handle.conf,
          88  +
            self.config_override,
          89  +
        );
          90  +
        crate::operation::update_ops_item::UpdateOpsItem::orchestrate(&runtime_plugins, input).await
          91  +
    }
          92  +
          93  +
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
          94  +
    pub fn customize(
          95  +
        self,
          96  +
    ) -> crate::client::customize::CustomizableOperation<
          97  +
        crate::operation::update_ops_item::UpdateOpsItemOutput,
          98  +
        crate::operation::update_ops_item::UpdateOpsItemError,
          99  +
        Self,
         100  +
    > {
         101  +
        crate::client::customize::CustomizableOperation::new(self)
         102  +
    }
         103  +
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
         104  +
        self.set_config_override(::std::option::Option::Some(config_override.into()));
         105  +
        self
         106  +
    }
         107  +
         108  +
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
         109  +
        self.config_override = config_override;
         110  +
        self
         111  +
    }
         112  +
    /// <p>User-defined text that contains information about the OpsItem, in Markdown format.</p>
         113  +
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         114  +
        self.inner = self.inner.description(input.into());
         115  +
        self
         116  +
    }
         117  +
    /// <p>User-defined text that contains information about the OpsItem, in Markdown format.</p>
         118  +
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         119  +
        self.inner = self.inner.set_description(input);
         120  +
        self
         121  +
    }
         122  +
    /// <p>User-defined text that contains information about the OpsItem, in Markdown format.</p>
         123  +
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
         124  +
        self.inner.get_description()
         125  +
    }
         126  +
    ///
         127  +
    /// Adds a key-value pair to `OperationalData`.
         128  +
    ///
         129  +
    /// To override the contents of this collection use [`set_operational_data`](Self::set_operational_data).
         130  +
    ///
         131  +
    /// <p>Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem object.</p>
         132  +
    /// <p>Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.</p><important>
         133  +
    /// <p>Operational data keys <i>can't</i> begin with the following: <code>amazon</code>, <code>aws</code>, <code>amzn</code>, <code>ssm</code>, <code>/amazon</code>, <code>/aws</code>, <code>/amzn</code>, <code>/ssm</code>.</p>
         134  +
    /// </important>
         135  +
    /// <p>You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the <code>DescribeOpsItems</code> API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the <code>GetOpsItem</code> API operation).</p>
         136  +
    /// <p>Use the <code>/aws/resources</code> key in OperationalData to specify a related resource in the request. Use the <code>/aws/automations</code> key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html">Creating OpsItems manually</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         137  +
    pub fn operational_data(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::OpsItemDataValue) -> Self {
         138  +
        self.inner = self.inner.operational_data(k.into(), v);
         139  +
        self
         140  +
    }
         141  +
    /// <p>Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem object.</p>
         142  +
    /// <p>Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.</p><important>
         143  +
    /// <p>Operational data keys <i>can't</i> begin with the following: <code>amazon</code>, <code>aws</code>, <code>amzn</code>, <code>ssm</code>, <code>/amazon</code>, <code>/aws</code>, <code>/amzn</code>, <code>/ssm</code>.</p>
         144  +
    /// </important>
         145  +
    /// <p>You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the <code>DescribeOpsItems</code> API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the <code>GetOpsItem</code> API operation).</p>
         146  +
    /// <p>Use the <code>/aws/resources</code> key in OperationalData to specify a related resource in the request. Use the <code>/aws/automations</code> key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html">Creating OpsItems manually</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         147  +
    pub fn set_operational_data(
         148  +
        mut self,
         149  +
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::OpsItemDataValue>>,
         150  +
    ) -> Self {
         151  +
        self.inner = self.inner.set_operational_data(input);
         152  +
        self
         153  +
    }
         154  +
    /// <p>Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem object.</p>
         155  +
    /// <p>Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.</p><important>
         156  +
    /// <p>Operational data keys <i>can't</i> begin with the following: <code>amazon</code>, <code>aws</code>, <code>amzn</code>, <code>ssm</code>, <code>/amazon</code>, <code>/aws</code>, <code>/amzn</code>, <code>/ssm</code>.</p>
         157  +
    /// </important>
         158  +
    /// <p>You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the <code>DescribeOpsItems</code> API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the <code>GetOpsItem</code> API operation).</p>
         159  +
    /// <p>Use the <code>/aws/resources</code> key in OperationalData to specify a related resource in the request. Use the <code>/aws/automations</code> key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html">Creating OpsItems manually</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         160  +
    pub fn get_operational_data(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::OpsItemDataValue>> {
         161  +
        self.inner.get_operational_data()
         162  +
    }
         163  +
    ///
         164  +
    /// Appends an item to `OperationalDataToDelete`.
         165  +
    ///
         166  +
    /// To override the contents of this collection use [`set_operational_data_to_delete`](Self::set_operational_data_to_delete).
         167  +
    ///
         168  +
    /// <p>Keys that you want to remove from the OperationalData map.</p>
         169  +
    pub fn operational_data_to_delete(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         170  +
        self.inner = self.inner.operational_data_to_delete(input.into());
         171  +
        self
         172  +
    }
         173  +
    /// <p>Keys that you want to remove from the OperationalData map.</p>
         174  +
    pub fn set_operational_data_to_delete(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         175  +
        self.inner = self.inner.set_operational_data_to_delete(input);
         176  +
        self
         177  +
    }
         178  +
    /// <p>Keys that you want to remove from the OperationalData map.</p>
         179  +
    pub fn get_operational_data_to_delete(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         180  +
        self.inner.get_operational_data_to_delete()
         181  +
    }
         182  +
    ///
         183  +
    /// Appends an item to `Notifications`.
         184  +
    ///
         185  +
    /// To override the contents of this collection use [`set_notifications`](Self::set_notifications).
         186  +
    ///
         187  +
    /// <p>The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.</p>
         188  +
    pub fn notifications(mut self, input: crate::types::OpsItemNotification) -> Self {
         189  +
        self.inner = self.inner.notifications(input);
         190  +
        self
         191  +
    }
         192  +
    /// <p>The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.</p>
         193  +
    pub fn set_notifications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OpsItemNotification>>) -> Self {
         194  +
        self.inner = self.inner.set_notifications(input);
         195  +
        self
         196  +
    }
         197  +
    /// <p>The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.</p>
         198  +
    pub fn get_notifications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OpsItemNotification>> {
         199  +
        self.inner.get_notifications()
         200  +
    }
         201  +
    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
         202  +
    pub fn priority(mut self, input: i32) -> Self {
         203  +
        self.inner = self.inner.priority(input);
         204  +
        self
         205  +
    }
         206  +
    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
         207  +
    pub fn set_priority(mut self, input: ::std::option::Option<i32>) -> Self {
         208  +
        self.inner = self.inner.set_priority(input);
         209  +
        self
         210  +
    }
         211  +
    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
         212  +
    pub fn get_priority(&self) -> &::std::option::Option<i32> {
         213  +
        self.inner.get_priority()
         214  +
    }
         215  +
    ///
         216  +
    /// Appends an item to `RelatedOpsItems`.
         217  +
    ///
         218  +
    /// To override the contents of this collection use [`set_related_ops_items`](Self::set_related_ops_items).
         219  +
    ///
         220  +
    /// <p>One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
         221  +
    pub fn related_ops_items(mut self, input: crate::types::RelatedOpsItem) -> Self {
         222  +
        self.inner = self.inner.related_ops_items(input);
         223  +
        self
         224  +
    }
         225  +
    /// <p>One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
         226  +
    pub fn set_related_ops_items(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RelatedOpsItem>>) -> Self {
         227  +
        self.inner = self.inner.set_related_ops_items(input);
         228  +
        self
         229  +
    }
         230  +
    /// <p>One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
         231  +
    pub fn get_related_ops_items(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RelatedOpsItem>> {
         232  +
        self.inner.get_related_ops_items()
         233  +
    }
         234  +
    /// <p>The OpsItem status. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html">Editing OpsItem details</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         235  +
    pub fn status(mut self, input: crate::types::OpsItemStatus) -> Self {
         236  +
        self.inner = self.inner.status(input);
         237  +
        self
         238  +
    }
         239  +
    /// <p>The OpsItem status. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html">Editing OpsItem details</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         240  +
    pub fn set_status(mut self, input: ::std::option::Option<crate::types::OpsItemStatus>) -> Self {
         241  +
        self.inner = self.inner.set_status(input);
         242  +
        self
         243  +
    }
         244  +
    /// <p>The OpsItem status. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html">Editing OpsItem details</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         245  +
    pub fn get_status(&self) -> &::std::option::Option<crate::types::OpsItemStatus> {
         246  +
        self.inner.get_status()
         247  +
    }
         248  +
    /// <p>The ID of the OpsItem.</p>
         249  +
    pub fn ops_item_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         250  +
        self.inner = self.inner.ops_item_id(input.into());
         251  +
        self
         252  +
    }
         253  +
    /// <p>The ID of the OpsItem.</p>
         254  +
    pub fn set_ops_item_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         255  +
        self.inner = self.inner.set_ops_item_id(input);
         256  +
        self
         257  +
    }
         258  +
    /// <p>The ID of the OpsItem.</p>
         259  +
    pub fn get_ops_item_id(&self) -> &::std::option::Option<::std::string::String> {
         260  +
        self.inner.get_ops_item_id()
         261  +
    }
         262  +
    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
         263  +
    pub fn title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         264  +
        self.inner = self.inner.title(input.into());
         265  +
        self
         266  +
    }
         267  +
    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
         268  +
    pub fn set_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         269  +
        self.inner = self.inner.set_title(input);
         270  +
        self
         271  +
    }
         272  +
    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
         273  +
    pub fn get_title(&self) -> &::std::option::Option<::std::string::String> {
         274  +
        self.inner.get_title()
         275  +
    }
         276  +
    /// <p>Specify a new category for an OpsItem.</p>
         277  +
    pub fn category(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         278  +
        self.inner = self.inner.category(input.into());
         279  +
        self
         280  +
    }
         281  +
    /// <p>Specify a new category for an OpsItem.</p>
         282  +
    pub fn set_category(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         283  +
        self.inner = self.inner.set_category(input);
         284  +
        self
         285  +
    }
         286  +
    /// <p>Specify a new category for an OpsItem.</p>
         287  +
    pub fn get_category(&self) -> &::std::option::Option<::std::string::String> {
         288  +
        self.inner.get_category()
         289  +
    }
         290  +
    /// <p>Specify a new severity for an OpsItem.</p>
         291  +
    pub fn severity(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         292  +
        self.inner = self.inner.severity(input.into());
         293  +
        self
         294  +
    }
         295  +
    /// <p>Specify a new severity for an OpsItem.</p>
         296  +
    pub fn set_severity(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         297  +
        self.inner = self.inner.set_severity(input);
         298  +
        self
         299  +
    }
         300  +
    /// <p>Specify a new severity for an OpsItem.</p>
         301  +
    pub fn get_severity(&self) -> &::std::option::Option<::std::string::String> {
         302  +
        self.inner.get_severity()
         303  +
    }
         304  +
    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         305  +
    pub fn actual_start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         306  +
        self.inner = self.inner.actual_start_time(input);
         307  +
        self
         308  +
    }
         309  +
    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         310  +
    pub fn set_actual_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         311  +
        self.inner = self.inner.set_actual_start_time(input);
         312  +
        self
         313  +
    }
         314  +
    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         315  +
    pub fn get_actual_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         316  +
        self.inner.get_actual_start_time()
         317  +
    }
         318  +
    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         319  +
    pub fn actual_end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         320  +
        self.inner = self.inner.actual_end_time(input);
         321  +
        self
         322  +
    }
         323  +
    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         324  +
    pub fn set_actual_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         325  +
        self.inner = self.inner.set_actual_end_time(input);
         326  +
        self
         327  +
    }
         328  +
    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         329  +
    pub fn get_actual_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         330  +
        self.inner.get_actual_end_time()
         331  +
    }
         332  +
    /// <p>The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         333  +
    pub fn planned_start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         334  +
        self.inner = self.inner.planned_start_time(input);
         335  +
        self
         336  +
    }
         337  +
    /// <p>The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         338  +
    pub fn set_planned_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         339  +
        self.inner = self.inner.set_planned_start_time(input);
         340  +
        self
         341  +
    }
         342  +
    /// <p>The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         343  +
    pub fn get_planned_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         344  +
        self.inner.get_planned_start_time()
         345  +
    }
         346  +
    /// <p>The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         347  +
    pub fn planned_end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         348  +
        self.inner = self.inner.planned_end_time(input);
         349  +
        self
         350  +
    }
         351  +
    /// <p>The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         352  +
    pub fn set_planned_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         353  +
        self.inner = self.inner.set_planned_end_time(input);
         354  +
        self
         355  +
    }
         356  +
    /// <p>The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         357  +
    pub fn get_planned_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         358  +
        self.inner.get_planned_end_time()
         359  +
    }
         360  +
    /// <p>The OpsItem Amazon Resource Name (ARN).</p>
         361  +
    pub fn ops_item_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         362  +
        self.inner = self.inner.ops_item_arn(input.into());
         363  +
        self
         364  +
    }
         365  +
    /// <p>The OpsItem Amazon Resource Name (ARN).</p>
         366  +
    pub fn set_ops_item_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         367  +
        self.inner = self.inner.set_ops_item_arn(input);
         368  +
        self
         369  +
    }
         370  +
    /// <p>The OpsItem Amazon Resource Name (ARN).</p>
         371  +
    pub fn get_ops_item_arn(&self) -> &::std::option::Option<::std::string::String> {
         372  +
        self.inner.get_ops_item_arn()
         373  +
    }
         374  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/update_ops_metadata.rs

@@ -0,1 +0,686 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/// Orchestration and serialization glue logic for `UpdateOpsMetadata`.
           3  +
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
           4  +
#[non_exhaustive]
           5  +
pub struct UpdateOpsMetadata;
           6  +
impl UpdateOpsMetadata {
           7  +
    /// Creates a new `UpdateOpsMetadata`
           8  +
    pub fn new() -> Self {
           9  +
        Self
          10  +
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = crate::operation::update_ops_metadata::UpdateOpsMetadataInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = crate::operation::update_ops_metadata::UpdateOpsMetadataOutput::SCHEMA;
          15  +
    pub(crate) async fn orchestrate(
          16  +
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
          17  +
        input: crate::operation::update_ops_metadata::UpdateOpsMetadataInput,
          18  +
    ) -> ::std::result::Result<
          19  +
        crate::operation::update_ops_metadata::UpdateOpsMetadataOutput,
          20  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          21  +
            crate::operation::update_ops_metadata::UpdateOpsMetadataError,
          22  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          23  +
        >,
          24  +
    > {
          25  +
        let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError<
          26  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
          27  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          28  +
        >| {
          29  +
            err.map_service_error(|err| {
          30  +
                err.downcast::<crate::operation::update_ops_metadata::UpdateOpsMetadataError>()
          31  +
                    .expect("correct error type")
          32  +
            })
          33  +
        };
          34  +
        let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None)
          35  +
            .await
          36  +
            .map_err(map_err)?;
          37  +
        let output = context.finalize().map_err(map_err)?;
          38  +
        ::std::result::Result::Ok(
          39  +
            output
          40  +
                .downcast::<crate::operation::update_ops_metadata::UpdateOpsMetadataOutput>()
          41  +
                .expect("correct output type"),
          42  +
        )
          43  +
    }
          44  +
          45  +
    pub(crate) async fn orchestrate_with_stop_point(
          46  +
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
          47  +
        input: crate::operation::update_ops_metadata::UpdateOpsMetadataInput,
          48  +
        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
          49  +
    ) -> ::std::result::Result<
          50  +
        ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext,
          51  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          52  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
          53  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          54  +
        >,
          55  +
    > {
          56  +
        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
          57  +
        use ::tracing::Instrument;
          58  +
        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point("SSM", "UpdateOpsMetadata", input, runtime_plugins, stop_point)
          59  +
            // Create a parent span for the entire operation. Includes a random, internal-only,
          60  +
            // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
          61  +
            .instrument(::tracing::debug_span!(
          62  +
                "SSM.UpdateOpsMetadata",
          63  +
                "rpc.service" = "SSM",
          64  +
                "rpc.method" = "UpdateOpsMetadata",
          65  +
                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
          66  +
                "rpc.system" = "aws-api",
          67  +
            ))
          68  +
            .await
          69  +
    }
          70  +
          71  +
    pub(crate) fn operation_runtime_plugins(
          72  +
        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
          73  +
        client_config: &crate::config::Config,
          74  +
        config_override: ::std::option::Option<crate::config::Builder>,
          75  +
    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
          76  +
        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
          77  +
          78  +
        if let ::std::option::Option::Some(config_override) = config_override {
          79  +
            for plugin in config_override.runtime_plugins.iter().cloned() {
          80  +
                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
          81  +
            }
          82  +
            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
          83  +
                config_override,
          84  +
                client_config.config.clone(),
          85  +
                &client_config.runtime_components,
          86  +
            ));
          87  +
        }
          88  +
        runtime_plugins
          89  +
    }
          90  +
}
          91  +
/// Per-operation error registry. Contains an entry for every modeled
          92  +
/// error this operation can throw.
          93  +
///
          94  +
/// Used by the schema-serde error path as the operation-scoped lookup
          95  +
/// for registry-backed error reification: an error code that does not
          96  +
/// match one of the operation's modeled errors directly is resolved
          97  +
/// against this registry first, then widened to the service-wide error
          98  +
/// registry.
          99  +
pub(crate) mod error_registry {
         100  +
    pub(crate) static REGISTRY: ::std::sync::LazyLock<::aws_smithy_schema::registry::TypeRegistry> = ::std::sync::LazyLock::new(|| {
         101  +
        ::aws_smithy_schema::registry::TypeRegistry::builder()
         102  +
                            .insert_error_shape(
         103  +
                        crate::types::error::InternalServerError::SCHEMA,
         104  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
         105  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::InternalServerError::deserialize(d)?))
         106  +
                        },
         107  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync>, ::aws_smithy_schema::serde::SerdeError> {
         108  +
                            ::std::result::Result::Ok(::std::boxed::Box::new(crate::types::error::InternalServerError::deserialize(d)?))
         109  +
                        },
         110  +
                    )
         111  +
.insert_error_shape(
         112  +
                        crate::types::error::OpsMetadataInvalidArgumentException::SCHEMA,
         113  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
         114  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::OpsMetadataInvalidArgumentException::deserialize(d)?))
         115  +
                        },
         116  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync>, ::aws_smithy_schema::serde::SerdeError> {
         117  +
                            ::std::result::Result::Ok(::std::boxed::Box::new(crate::types::error::OpsMetadataInvalidArgumentException::deserialize(d)?))
         118  +
                        },
         119  +
                    )
         120  +
.insert_error_shape(
         121  +
                        crate::types::error::OpsMetadataKeyLimitExceededException::SCHEMA,
         122  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
         123  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::OpsMetadataKeyLimitExceededException::deserialize(d)?))
         124  +
                        },
         125  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync>, ::aws_smithy_schema::serde::SerdeError> {
         126  +
                            ::std::result::Result::Ok(::std::boxed::Box::new(crate::types::error::OpsMetadataKeyLimitExceededException::deserialize(d)?))
         127  +
                        },
         128  +
                    )
         129  +
.insert_error_shape(
         130  +
                        crate::types::error::OpsMetadataNotFoundException::SCHEMA,
         131  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
         132  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::OpsMetadataNotFoundException::deserialize(d)?))
         133  +
                        },
         134  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync>, ::aws_smithy_schema::serde::SerdeError> {
         135  +
                            ::std::result::Result::Ok(::std::boxed::Box::new(crate::types::error::OpsMetadataNotFoundException::deserialize(d)?))
         136  +
                        },
         137  +
                    )
         138  +
.insert_error_shape(
         139  +
                        crate::types::error::OpsMetadataTooManyUpdatesException::SCHEMA,
         140  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
         141  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::OpsMetadataTooManyUpdatesException::deserialize(d)?))
         142  +
                        },
         143  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync>, ::aws_smithy_schema::serde::SerdeError> {
         144  +
                            ::std::result::Result::Ok(::std::boxed::Box::new(crate::types::error::OpsMetadataTooManyUpdatesException::deserialize(d)?))
         145  +
                        },
         146  +
                    )
         147  +
                            .build()
         148  +
    });
         149  +
}
         150  +
impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for UpdateOpsMetadata {
         151  +
    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
         152  +
        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("UpdateOpsMetadata");
         153  +
         154  +
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
         155  +
            UpdateOpsMetadataRequestSerializer,
         156  +
        ));
         157  +
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
         158  +
            UpdateOpsMetadataResponseDeserializer,
         159  +
        ));
         160  +
         161  +
        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
         162  +
            crate::config::auth::Params::builder()
         163  +
                .operation_name("UpdateOpsMetadata")
         164  +
                .build()
         165  +
                .expect("required fields set"),
         166  +
        ));
         167  +
         168  +
        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new("UpdateOpsMetadata", "SSM"));
         169  +
        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
         170  +
        signing_options.double_uri_encode = true;
         171  +
        signing_options.content_sha256_header = false;
         172  +
        signing_options.normalize_uri_path = true;
         173  +
        signing_options.payload_override = None;
         174  +
         175  +
        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
         176  +
            signing_options,
         177  +
            ..::std::default::Default::default()
         178  +
        });
         179  +
         180  +
        ::std::option::Option::Some(cfg.freeze())
         181  +
    }
         182  +
         183  +
    fn runtime_components(
         184  +
        &self,
         185  +
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
         186  +
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
         187  +
        #[allow(unused_mut)]
         188  +
        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("UpdateOpsMetadata")
         189  +
            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
         190  +
                UpdateOpsMetadataTelemetryInputCaptureInterceptor,
         191  +
            ))
         192  +
            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
         193  +
                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
         194  +
            ))
         195  +
            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
         196  +
                UpdateOpsMetadataEndpointParamsInterceptor,
         197  +
            ))
         198  +
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
         199  +
                crate::operation::update_ops_metadata::UpdateOpsMetadataError,
         200  +
            >::new())
         201  +
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
         202  +
                crate::operation::update_ops_metadata::UpdateOpsMetadataError,
         203  +
            >::new())
         204  +
            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
         205  +
                crate::operation::update_ops_metadata::UpdateOpsMetadataError,
         206  +
            >::new())
         207  +
            .with_retry_classifier(::aws_runtime::service_clock_skew::ServiceClockSkewClassifier::<
         208  +
                crate::operation::update_ops_metadata::UpdateOpsMetadataError,
         209  +
            >::new());
         210  +
         211  +
        ::std::borrow::Cow::Owned(rcb)
         212  +
    }
         213  +
}
         214  +
         215  +
#[derive(Debug)]
         216  +
struct UpdateOpsMetadataTelemetryInputCaptureInterceptor;
         217  +
         218  +
#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
         219  +
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UpdateOpsMetadataTelemetryInputCaptureInterceptor {
         220  +
    fn name(&self) -> &'static str {
         221  +
        "UpdateOpsMetadataTelemetryInputCaptureInterceptor"
         222  +
    }
         223  +
         224  +
    fn read_before_execution(
         225  +
        &self,
         226  +
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
         227  +
            '_,
         228  +
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
         229  +
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
         230  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
         231  +
        >,
         232  +
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
         233  +
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
         234  +
        // Nothing to do unless the customer opted in by naming members to record.
         235  +
        let ::std::option::Option::Some(requested) = cfg
         236  +
            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
         237  +
            .filter(|r| !r.is_empty())
         238  +
        else {
         239  +
            return ::std::result::Result::Ok(());
         240  +
        };
         241  +
         242  +
        let ::std::option::Option::Some(input) = context.input().downcast_ref::<UpdateOpsMetadataInput>() else {
         243  +
            // A mismatched input is not this interceptor's concern; skip quietly.
         244  +
            return ::std::result::Result::Ok(());
         245  +
        };
         246  +
         247  +
        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
         248  +
        if requested.should_capture("OpsMetadataArn") {
         249  +
            if let ::std::option::Option::Some(value) = input.ops_metadata_arn.as_deref() {
         250  +
                captured.insert("OpsMetadataArn", value);
         251  +
            }
         252  +
        }
         253  +
         254  +
        cfg.interceptor_state().store_put(captured);
         255  +
        ::std::result::Result::Ok(())
         256  +
    }
         257  +
}
         258  +
#[derive(Debug)]
         259  +
struct UpdateOpsMetadataResponseDeserializer;
         260  +
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for UpdateOpsMetadataResponseDeserializer {
         261  +
    fn deserialize_nonstreaming_with_config(
         262  +
        &self,
         263  +
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         264  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
         265  +
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
         266  +
        let (success, status) = (response.status().is_success(), response.status().as_u16());
         267  +
        // Load body and headers BEFORE BeforeParseResponse so customizations
         268  +
        // (e.g., S3's `body_is_error` check that detects errors returned with
         269  +
        // HTTP 200) can inspect them. The legacy non-streaming path also
         270  +
        // loads `body` before firing this hook.
         271  +
        let body = response.body().bytes().expect("body loaded");
         272  +
        let headers = response.headers();
         273  +
        #[allow(unused_mut)]
         274  +
        let mut force_error = false;
         275  +
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
         276  +
        if !success && status != 200 || force_error {
         277  +
            let protocol = _cfg
         278  +
                .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         279  +
                .expect("a SharedClientProtocol is required");
         280  +
            #[allow(unused_mut)]
         281  +
            let mut generic_builder = protocol.parse_error_metadata(response, _cfg).map_err(|e| {
         282  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         283  +
            })?;
         284  +
            generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, headers);
         285  +
            let generic = generic_builder.build();
         286  +
            let error_code = match generic.code() {
         287  +
                ::std::option::Option::Some(code) => code,
         288  +
                ::std::option::Option::None => {
         289  +
                    return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         290  +
                        ::aws_smithy_runtime_api::box_error::BoxError::from(
         291  +
                            crate::operation::update_ops_metadata::UpdateOpsMetadataError::unhandled(generic),
         292  +
                        ),
         293  +
                    ))
         294  +
                }
         295  +
            };
         296  +
            let _error_message = generic.message().map(|msg| msg.to_owned());
         297  +
            let err = match error_code {
         298  +
                "InternalServerError" => crate::operation::update_ops_metadata::UpdateOpsMetadataError::InternalServerError({
         299  +
                    let mut tmp = match protocol.deserialize_error_response(response, _cfg).and_then(|mut deser| {
         300  +
                        crate::types::error::InternalServerError::deserialize_with_response(
         301  +
                            &mut *deser,
         302  +
                            response.headers(),
         303  +
                            response.status().into(),
         304  +
                            body,
         305  +
                        )
         306  +
                    }) {
         307  +
                        ::std::result::Result::Ok(val) => val,
         308  +
                        ::std::result::Result::Err(e) => {
         309  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         310  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         311  +
                            ))
         312  +
                        }
         313  +
                    };
         314  +
                    tmp.meta = generic;
         315  +
                    if tmp.message.is_none() {
         316  +
                        tmp.message = _error_message;
         317  +
                    }
         318  +
                    tmp
         319  +
                }),
         320  +
                "OpsMetadataInvalidArgumentException" => {
         321  +
                    crate::operation::update_ops_metadata::UpdateOpsMetadataError::OpsMetadataInvalidArgumentException({
         322  +
                        let mut tmp = match protocol.deserialize_error_response(response, _cfg).and_then(|mut deser| {
         323  +
                            crate::types::error::OpsMetadataInvalidArgumentException::deserialize_with_response(
         324  +
                                &mut *deser,
         325  +
                                response.headers(),
         326  +
                                response.status().into(),
         327  +
                                body,
         328  +
                            )
         329  +
                        }) {
         330  +
                            ::std::result::Result::Ok(val) => val,
         331  +
                            ::std::result::Result::Err(e) => {
         332  +
                                return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         333  +
                                    ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         334  +
                                ))
         335  +
                            }
         336  +
                        };
         337  +
                        tmp.meta = generic;
         338  +
                        if tmp.message.is_none() {
         339  +
                            tmp.message = _error_message;
         340  +
                        }
         341  +
                        tmp
         342  +
                    })
         343  +
                }
         344  +
                "OpsMetadataKeyLimitExceededException" => {
         345  +
                    crate::operation::update_ops_metadata::UpdateOpsMetadataError::OpsMetadataKeyLimitExceededException({
         346  +
                        let mut tmp = match protocol.deserialize_error_response(response, _cfg).and_then(|mut deser| {
         347  +
                            crate::types::error::OpsMetadataKeyLimitExceededException::deserialize_with_response(
         348  +
                                &mut *deser,
         349  +
                                response.headers(),
         350  +
                                response.status().into(),
         351  +
                                body,
         352  +
                            )
         353  +
                        }) {
         354  +
                            ::std::result::Result::Ok(val) => val,
         355  +
                            ::std::result::Result::Err(e) => {
         356  +
                                return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         357  +
                                    ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         358  +
                                ))
         359  +
                            }
         360  +
                        };
         361  +
                        tmp.meta = generic;
         362  +
                        if tmp.message.is_none() {
         363  +
                            tmp.message = _error_message;
         364  +
                        }
         365  +
                        tmp
         366  +
                    })
         367  +
                }
         368  +
                "OpsMetadataNotFoundException" => crate::operation::update_ops_metadata::UpdateOpsMetadataError::OpsMetadataNotFoundException({
         369  +
                    let mut tmp = match protocol.deserialize_error_response(response, _cfg).and_then(|mut deser| {
         370  +
                        crate::types::error::OpsMetadataNotFoundException::deserialize_with_response(
         371  +
                            &mut *deser,
         372  +
                            response.headers(),
         373  +
                            response.status().into(),
         374  +
                            body,
         375  +
                        )
         376  +
                    }) {
         377  +
                        ::std::result::Result::Ok(val) => val,
         378  +
                        ::std::result::Result::Err(e) => {
         379  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         380  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         381  +
                            ))
         382  +
                        }
         383  +
                    };
         384  +
                    tmp.meta = generic;
         385  +
                    if tmp.message.is_none() {
         386  +
                        tmp.message = _error_message;
         387  +
                    }
         388  +
                    tmp
         389  +
                }),
         390  +
                "OpsMetadataTooManyUpdatesException" => {
         391  +
                    crate::operation::update_ops_metadata::UpdateOpsMetadataError::OpsMetadataTooManyUpdatesException({
         392  +
                        let mut tmp = match protocol.deserialize_error_response(response, _cfg).and_then(|mut deser| {
         393  +
                            crate::types::error::OpsMetadataTooManyUpdatesException::deserialize_with_response(
         394  +
                                &mut *deser,
         395  +
                                response.headers(),
         396  +
                                response.status().into(),
         397  +
                                body,
         398  +
                            )
         399  +
                        }) {
         400  +
                            ::std::result::Result::Ok(val) => val,
         401  +
                            ::std::result::Result::Err(e) => {
         402  +
                                return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         403  +
                                    ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         404  +
                                ))
         405  +
                            }
         406  +
                        };
         407  +
                        tmp.meta = generic;
         408  +
                        if tmp.message.is_none() {
         409  +
                            tmp.message = _error_message;
         410  +
                        }
         411  +
                        tmp
         412  +
                    })
         413  +
                }
         414  +
                _ => {
         415  +
                    // Registry-backed, operation-scoped reification of an error whose
         416  +
                    // code this operation does not model directly: the operation's own
         417  +
                    // error registry is consulted first, then the lookup widens to the
         418  +
                    // service-wide error registry. On a hit, the reified error is attached
         419  +
                    // as the source of the returned unhandled error while its metadata
         420  +
                    // (code, message, request id) is preserved; on a miss the generic
         421  +
                    // error is returned unchanged.
         422  +
                    match protocol
         423  +
                        .deserialize_error_response(response, _cfg)
         424  +
                        .ok()
         425  +
                        .and_then(|mut deser| {
         426  +
                            ::aws_smithy_schema::registry::reify_error(
         427  +
                                crate::operation::update_ops_metadata::error_registry::REGISTRY
         428  +
                                    .or(&crate::error_type_registry::REGISTRY),
         429  +
                                error_code,
         430  +
                                &mut *deser,
         431  +
                            )
         432  +
                        }) {
         433  +
                        ::std::option::Option::Some(source) => <crate::operation::update_ops_metadata::UpdateOpsMetadataError as ::aws_smithy_runtime_api::client::result::CreateUnhandledError>::create_unhandled_error(source, ::std::option::Option::Some(generic)),
         434  +
                        ::std::option::Option::None => crate::operation::update_ops_metadata::UpdateOpsMetadataError::generic(generic),
         435  +
                    }
         436  +
                }
         437  +
            };
         438  +
            ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::operation(
         439  +
                ::aws_smithy_runtime_api::client::interceptors::context::Error::erase(err),
         440  +
            ))
         441  +
        } else {
         442  +
            let protocol = _cfg
         443  +
                .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         444  +
                .expect("a SharedClientProtocol is required");
         445  +
            let mut deser = protocol
         446  +
                .deserialize_response(response, UpdateOpsMetadata::OUTPUT_SCHEMA, _cfg)
         447  +
                .map_err(|e| {
         448  +
                    ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         449  +
                })?;
         450  +
            // body and headers are already in scope from the top of the function;
         451  +
            // alias `headers` as `_response_headers` so MutateOutput
         452  +
            // customizations have a stable name to read from.
         453  +
            let _response_headers = headers;
         454  +
            #[allow(unused_mut)]
         455  +
            let mut output = crate::operation::update_ops_metadata::UpdateOpsMetadataOutput::deserialize_with_response(
         456  +
                &mut *deser,
         457  +
                _response_headers,
         458  +
                response.status().into(),
         459  +
                body,
         460  +
            )
         461  +
            .map_err(|e| {
         462  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         463  +
            })?;
         464  +
            output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
         465  +
            ::std::result::Result::Ok(::aws_smithy_runtime_api::client::interceptors::context::Output::erase(output))
         466  +
        }
         467  +
    }
         468  +
}
         469  +
#[derive(Debug)]
         470  +
struct UpdateOpsMetadataRequestSerializer;
         471  +
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for UpdateOpsMetadataRequestSerializer {
         472  +
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
         473  +
    fn serialize_input(
         474  +
        &self,
         475  +
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
         476  +
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
         477  +
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
         478  +
        let input = input
         479  +
            .downcast::<crate::operation::update_ops_metadata::UpdateOpsMetadataInput>()
         480  +
            .expect("correct type");
         481  +
         482  +
        let protocol = _cfg
         483  +
            .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         484  +
            .expect("a SharedClientProtocol is required");
         485  +
        let mut request = protocol
         486  +
            .serialize_request(&input, UpdateOpsMetadata::INPUT_SCHEMA, "/", _cfg)
         487  +
            .map_err(::aws_smithy_runtime_api::box_error::BoxError::from)?;
         488  +
         489  +
        return ::std::result::Result::Ok(request);
         490  +
    }
         491  +
}
         492  +
#[derive(Debug)]
         493  +
struct UpdateOpsMetadataEndpointParamsInterceptor;
         494  +
         495  +
#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
         496  +
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UpdateOpsMetadataEndpointParamsInterceptor {
         497  +
    fn name(&self) -> &'static str {
         498  +
        "UpdateOpsMetadataEndpointParamsInterceptor"
         499  +
    }
         500  +
         501  +
    fn read_before_execution(
         502  +
        &self,
         503  +
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
         504  +
            '_,
         505  +
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
         506  +
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
         507  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
         508  +
        >,
         509  +
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
         510  +
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
         511  +
        let _input = context
         512  +
            .input()
         513  +
            .downcast_ref::<UpdateOpsMetadataInput>()
         514  +
            .ok_or("failed to downcast to UpdateOpsMetadataInput")?;
         515  +
         516  +
        let params = crate::config::endpoint::Params::builder()
         517  +
            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
         518  +
            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
         519  +
            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
         520  +
            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
         521  +
            .build()
         522  +
            .map_err(|err| {
         523  +
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
         524  +
            })?;
         525  +
        cfg.interceptor_state()
         526  +
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
         527  +
        ::std::result::Result::Ok(())
         528  +
    }
         529  +
}
         530  +
         531  +
// The get_* functions below are generated from JMESPath expressions in the
         532  +
// operationContextParams trait. They target the operation's input shape.
         533  +
         534  +
/// Error type for the `UpdateOpsMetadataError` operation.
         535  +
#[non_exhaustive]
         536  +
#[derive(::std::fmt::Debug)]
         537  +
pub enum UpdateOpsMetadataError {
         538  +
    /// <p>An error occurred on the server side.</p>
         539  +
    InternalServerError(crate::types::error::InternalServerError),
         540  +
    /// <p>One of the arguments passed is invalid.</p>
         541  +
    OpsMetadataInvalidArgumentException(crate::types::error::OpsMetadataInvalidArgumentException),
         542  +
    /// <p>The OpsMetadata object exceeds the maximum number of OpsMetadata keys that you can assign to an application in Application Manager.</p>
         543  +
    OpsMetadataKeyLimitExceededException(crate::types::error::OpsMetadataKeyLimitExceededException),
         544  +
    /// <p>The OpsMetadata object doesn't exist.</p>
         545  +
    OpsMetadataNotFoundException(crate::types::error::OpsMetadataNotFoundException),
         546  +
    /// <p>The system is processing too many concurrent updates. Wait a few moments and try again.</p>
         547  +
    OpsMetadataTooManyUpdatesException(crate::types::error::OpsMetadataTooManyUpdatesException),
         548  +
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
         549  +
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
         550  +
    variable wildcard pattern and check `.code()`:
         551  +
     \
         552  +
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
         553  +
     \
         554  +
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-UpdateOpsMetadataError) for what information is available for the error.")]
         555  +
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         556  +
}
         557  +
impl UpdateOpsMetadataError {
         558  +
    /// Creates the `UpdateOpsMetadataError::Unhandled` variant from any error type.
         559  +
    pub fn unhandled(
         560  +
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
         561  +
    ) -> Self {
         562  +
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
         563  +
            source: err.into(),
         564  +
            meta: ::std::default::Default::default(),
         565  +
        })
         566  +
    }
         567  +
         568  +
    /// Creates the `UpdateOpsMetadataError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
         569  +
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
         570  +
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
         571  +
            source: err.clone().into(),
         572  +
            meta: err,
         573  +
        })
         574  +
    }
         575  +
    ///
         576  +
    /// Returns error metadata, which includes the error code, message,
         577  +
    /// request ID, and potentially additional information.
         578  +
    ///
         579  +
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         580  +
        match self {
         581  +
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         582  +
            Self::OpsMetadataInvalidArgumentException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         583  +
            Self::OpsMetadataKeyLimitExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         584  +
            Self::OpsMetadataNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         585  +
            Self::OpsMetadataTooManyUpdatesException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         586  +
            Self::Unhandled(e) => &e.meta,
         587  +
        }
         588  +
    }
         589  +
    /// Returns `true` if the error kind is `UpdateOpsMetadataError::InternalServerError`.
         590  +
    pub fn is_internal_server_error(&self) -> bool {
         591  +
        matches!(self, Self::InternalServerError(_))
         592  +
    }
         593  +
    /// Returns `true` if the error kind is `UpdateOpsMetadataError::OpsMetadataInvalidArgumentException`.
         594  +
    pub fn is_ops_metadata_invalid_argument_exception(&self) -> bool {
         595  +
        matches!(self, Self::OpsMetadataInvalidArgumentException(_))
         596  +
    }
         597  +
    /// Returns `true` if the error kind is `UpdateOpsMetadataError::OpsMetadataKeyLimitExceededException`.
         598  +
    pub fn is_ops_metadata_key_limit_exceeded_exception(&self) -> bool {
         599  +
        matches!(self, Self::OpsMetadataKeyLimitExceededException(_))
         600  +
    }
         601  +
    /// Returns `true` if the error kind is `UpdateOpsMetadataError::OpsMetadataNotFoundException`.
         602  +
    pub fn is_ops_metadata_not_found_exception(&self) -> bool {
         603  +
        matches!(self, Self::OpsMetadataNotFoundException(_))
         604  +
    }
         605  +
    /// Returns `true` if the error kind is `UpdateOpsMetadataError::OpsMetadataTooManyUpdatesException`.
         606  +
    pub fn is_ops_metadata_too_many_updates_exception(&self) -> bool {
         607  +
        matches!(self, Self::OpsMetadataTooManyUpdatesException(_))
         608  +
    }
         609  +
}
         610  +
impl ::std::error::Error for UpdateOpsMetadataError {
         611  +
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         612  +
        match self {
         613  +
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
         614  +
            Self::OpsMetadataInvalidArgumentException(_inner) => ::std::option::Option::Some(_inner),
         615  +
            Self::OpsMetadataKeyLimitExceededException(_inner) => ::std::option::Option::Some(_inner),
         616  +
            Self::OpsMetadataNotFoundException(_inner) => ::std::option::Option::Some(_inner),
         617  +
            Self::OpsMetadataTooManyUpdatesException(_inner) => ::std::option::Option::Some(_inner),
         618  +
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         619  +
        }
         620  +
    }
         621  +
}
         622  +
impl ::std::fmt::Display for UpdateOpsMetadataError {
         623  +
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         624  +
        match self {
         625  +
            Self::InternalServerError(_inner) => _inner.fmt(f),
         626  +
            Self::OpsMetadataInvalidArgumentException(_inner) => _inner.fmt(f),
         627  +
            Self::OpsMetadataKeyLimitExceededException(_inner) => _inner.fmt(f),
         628  +
            Self::OpsMetadataNotFoundException(_inner) => _inner.fmt(f),
         629  +
            Self::OpsMetadataTooManyUpdatesException(_inner) => _inner.fmt(f),
         630  +
            Self::Unhandled(_inner) => {
         631  +
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
         632  +
                    write!(f, "unhandled error ({code})")
         633  +
                } else {
         634  +
                    f.write_str("unhandled error")
         635  +
                }
         636  +
            }
         637  +
        }
         638  +
    }
         639  +
}
         640  +
impl ::aws_smithy_types::retry::ProvideErrorKind for UpdateOpsMetadataError {
         641  +
    fn code(&self) -> ::std::option::Option<&str> {
         642  +
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         643  +
    }
         644  +
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         645  +
        ::std::option::Option::None
         646  +
    }
         647  +
}
         648  +
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for UpdateOpsMetadataError {
         649  +
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         650  +
        match self {
         651  +
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
         652  +
            Self::OpsMetadataInvalidArgumentException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
         653  +
            Self::OpsMetadataKeyLimitExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
         654  +
            Self::OpsMetadataNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
         655  +
            Self::OpsMetadataTooManyUpdatesException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
         656  +
            Self::Unhandled(_inner) => &_inner.meta,
         657  +
        }
         658  +
    }
         659  +
}
         660  +
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for UpdateOpsMetadataError {
         661  +
    fn create_unhandled_error(
         662  +
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
         663  +
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
         664  +
    ) -> Self {
         665  +
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
         666  +
            source,
         667  +
            meta: meta.unwrap_or_default(),
         668  +
        })
         669  +
    }
         670  +
}
         671  +
impl ::aws_types::request_id::RequestId for crate::operation::update_ops_metadata::UpdateOpsMetadataError {
         672  +
    fn request_id(&self) -> Option<&str> {
         673  +
        self.meta().request_id()
         674  +
    }
         675  +
}
         676  +
         677  +
pub use crate::operation::update_ops_metadata::_update_ops_metadata_input::UpdateOpsMetadataInput;
         678  +
         679  +
pub use crate::operation::update_ops_metadata::_update_ops_metadata_output::UpdateOpsMetadataOutput;
         680  +
         681  +
mod _update_ops_metadata_input;
         682  +
         683  +
mod _update_ops_metadata_output;
         684  +
         685  +
/// Builders
         686  +
pub mod builders;