AWS SDK

AWS SDK

rev. 97ba95e6039d206ffea5b866ddc214d34f7f88c3

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ssm/src/types/_ops_filter.rs

@@ -0,1 +0,226 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>A filter for viewing OpsData summaries.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub struct OpsFilter {
           7  +
    /// <p>The name of the filter.</p>
           8  +
    pub key: ::std::string::String,
           9  +
    /// <p>The filter value.</p>
          10  +
    pub values: ::std::vec::Vec<::std::string::String>,
          11  +
    /// <p>The type of filter.</p>
          12  +
    pub r#type: ::std::option::Option<crate::types::OpsFilterOperatorType>,
          13  +
}
          14  +
impl OpsFilter {
          15  +
    /// <p>The name of the filter.</p>
          16  +
    pub fn key(&self) -> &str {
          17  +
        use std::ops::Deref;
          18  +
        self.key.deref()
          19  +
    }
          20  +
    /// <p>The filter value.</p>
          21  +
    pub fn values(&self) -> &[::std::string::String] {
          22  +
        use std::ops::Deref;
          23  +
        self.values.deref()
          24  +
    }
          25  +
    /// <p>The type of filter.</p>
          26  +
    pub fn r#type(&self) -> ::std::option::Option<&crate::types::OpsFilterOperatorType> {
          27  +
        self.r#type.as_ref()
          28  +
    }
          29  +
}
          30  +
static OPSFILTER_MEMBER_KEY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          31  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsFilter$Key", "com.amazonaws.ssm", "OpsFilter"),
          32  +
    ::aws_smithy_schema::ShapeType::String,
          33  +
    "Key",
          34  +
    0,
          35  +
);
          36  +
static OPSFILTER_MEMBER_VALUES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          37  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsFilterValueList$member", "com.amazonaws.ssm", "OpsFilterValueList"),
          38  +
    ::aws_smithy_schema::ShapeType::String,
          39  +
    "member",
          40  +
    0,
          41  +
)
          42  +
.with_xml_name("FilterValue");
          43  +
static OPSFILTER_MEMBER_VALUES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          44  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsFilter$Values", "com.amazonaws.ssm", "OpsFilter"),
          45  +
    ::aws_smithy_schema::ShapeType::List,
          46  +
    "Values",
          47  +
    1,
          48  +
)
          49  +
.with_list_member(&OPSFILTER_MEMBER_VALUES_MEMBER);
          50  +
static OPSFILTER_MEMBER_TYPE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          51  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsFilter$Type", "com.amazonaws.ssm", "OpsFilter"),
          52  +
    ::aws_smithy_schema::ShapeType::String,
          53  +
    "Type",
          54  +
    2,
          55  +
);
          56  +
static OPSFILTER_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          57  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsFilter", "com.amazonaws.ssm", "OpsFilter"),
          58  +
    ::aws_smithy_schema::ShapeType::Structure,
          59  +
    &[&OPSFILTER_MEMBER_KEY, &OPSFILTER_MEMBER_VALUES, &OPSFILTER_MEMBER_TYPE],
          60  +
);
          61  +
impl OpsFilter {
          62  +
    /// The schema for this shape.
          63  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &OPSFILTER_SCHEMA;
          64  +
}
          65  +
impl ::aws_smithy_schema::serde::SerializableStruct for OpsFilter {
          66  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          67  +
    fn serialize_members(
          68  +
        &self,
          69  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          70  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          71  +
        {
          72  +
            let val = &self.key;
          73  +
            ser.write_string(&OPSFILTER_MEMBER_KEY, val)?;
          74  +
        }
          75  +
        {
          76  +
            let val = &self.values;
          77  +
          78  +
            ser.write_list(&OPSFILTER_MEMBER_VALUES, &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
          79  +
                for item in val {
          80  +
                    ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
          81  +
                }
          82  +
                Ok(())
          83  +
            })?;
          84  +
        }
          85  +
        if let Some(ref val) = self.r#type {
          86  +
            ser.write_string(&OPSFILTER_MEMBER_TYPE, val.as_str())?;
          87  +
        }
          88  +
        Ok(())
          89  +
    }
          90  +
}
          91  +
impl OpsFilter {
          92  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
          93  +
    pub fn deserialize(
          94  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          95  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          96  +
        #[allow(unused_variables, unused_mut)]
          97  +
        let mut builder = Self::builder();
          98  +
        #[allow(
          99  +
            unused_variables,
         100  +
            unreachable_code,
         101  +
            clippy::single_match,
         102  +
            clippy::match_single_binding,
         103  +
            clippy::diverging_sub_expression
         104  +
        )]
         105  +
        deserializer.read_struct(&OPSFILTER_SCHEMA, &mut |member, deser| {
         106  +
            match member.member_index() {
         107  +
                Some(0) => {
         108  +
                    builder.key = Some(deser.read_string(member)?);
         109  +
                }
         110  +
                Some(1) => {
         111  +
                    builder.values = Some(deser.read_string_list(member)?);
         112  +
                }
         113  +
                Some(2) => {
         114  +
                    if deser.is_null() {
         115  +
                        deser.read_null()?;
         116  +
                    } else {
         117  +
                        builder.r#type = Some(crate::types::OpsFilterOperatorType::from(deser.read_string(member)?.as_str()));
         118  +
                    }
         119  +
                }
         120  +
                _ => {}
         121  +
            }
         122  +
            Ok(())
         123  +
        })?;
         124  +
        builder.key = builder.key.or(Some(String::new()));
         125  +
        builder.values = builder.values.or(Some(Vec::new()));
         126  +
        builder.build().map_err(|e| aws_smithy_schema::serde::SerdeError::custom(e.to_string()))
         127  +
    }
         128  +
}
         129  +
impl OpsFilter {
         130  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         131  +
    pub fn deserialize_with_response(
         132  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         133  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         134  +
        _status: u16,
         135  +
        _body: &[u8],
         136  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         137  +
        Self::deserialize(deserializer)
         138  +
    }
         139  +
}
         140  +
impl OpsFilter {
         141  +
    /// Creates a new builder-style object to manufacture [`OpsFilter`](crate::types::OpsFilter).
         142  +
    pub fn builder() -> crate::types::builders::OpsFilterBuilder {
         143  +
        crate::types::builders::OpsFilterBuilder::default()
         144  +
    }
         145  +
}
         146  +
         147  +
/// A builder for [`OpsFilter`](crate::types::OpsFilter).
         148  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         149  +
#[non_exhaustive]
         150  +
pub struct OpsFilterBuilder {
         151  +
    pub(crate) key: ::std::option::Option<::std::string::String>,
         152  +
    pub(crate) values: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         153  +
    pub(crate) r#type: ::std::option::Option<crate::types::OpsFilterOperatorType>,
         154  +
}
         155  +
impl OpsFilterBuilder {
         156  +
    /// <p>The name of the filter.</p>
         157  +
    /// This field is required.
         158  +
    pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         159  +
        self.key = ::std::option::Option::Some(input.into());
         160  +
        self
         161  +
    }
         162  +
    /// <p>The name of the filter.</p>
         163  +
    pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         164  +
        self.key = input;
         165  +
        self
         166  +
    }
         167  +
    /// <p>The name of the filter.</p>
         168  +
    pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
         169  +
        &self.key
         170  +
    }
         171  +
    /// Appends an item to `values`.
         172  +
    ///
         173  +
    /// To override the contents of this collection use [`set_values`](Self::set_values).
         174  +
    ///
         175  +
    /// <p>The filter value.</p>
         176  +
    pub fn values(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         177  +
        let mut v = self.values.unwrap_or_default();
         178  +
        v.push(input.into());
         179  +
        self.values = ::std::option::Option::Some(v);
         180  +
        self
         181  +
    }
         182  +
    /// <p>The filter value.</p>
         183  +
    pub fn set_values(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         184  +
        self.values = input;
         185  +
        self
         186  +
    }
         187  +
    /// <p>The filter value.</p>
         188  +
    pub fn get_values(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         189  +
        &self.values
         190  +
    }
         191  +
    /// <p>The type of filter.</p>
         192  +
    pub fn r#type(mut self, input: crate::types::OpsFilterOperatorType) -> Self {
         193  +
        self.r#type = ::std::option::Option::Some(input);
         194  +
        self
         195  +
    }
         196  +
    /// <p>The type of filter.</p>
         197  +
    pub fn set_type(mut self, input: ::std::option::Option<crate::types::OpsFilterOperatorType>) -> Self {
         198  +
        self.r#type = input;
         199  +
        self
         200  +
    }
         201  +
    /// <p>The type of filter.</p>
         202  +
    pub fn get_type(&self) -> &::std::option::Option<crate::types::OpsFilterOperatorType> {
         203  +
        &self.r#type
         204  +
    }
         205  +
    /// Consumes the builder and constructs a [`OpsFilter`](crate::types::OpsFilter).
         206  +
    /// This method will fail if any of the following fields are not set:
         207  +
    /// - [`key`](crate::types::builders::OpsFilterBuilder::key)
         208  +
    /// - [`values`](crate::types::builders::OpsFilterBuilder::values)
         209  +
    pub fn build(self) -> ::std::result::Result<crate::types::OpsFilter, ::aws_smithy_types::error::operation::BuildError> {
         210  +
        ::std::result::Result::Ok(crate::types::OpsFilter {
         211  +
            key: self.key.ok_or_else(|| {
         212  +
                ::aws_smithy_types::error::operation::BuildError::missing_field(
         213  +
                    "key",
         214  +
                    "key was not specified but it is required when building OpsFilter",
         215  +
                )
         216  +
            })?,
         217  +
            values: self.values.ok_or_else(|| {
         218  +
                ::aws_smithy_types::error::operation::BuildError::missing_field(
         219  +
                    "values",
         220  +
                    "values was not specified but it is required when building OpsFilter",
         221  +
                )
         222  +
            })?,
         223  +
            r#type: self.r#type,
         224  +
        })
         225  +
    }
         226  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/types/_ops_filter_operator_type.rs

@@ -0,1 +0,132 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// When writing a match expression against `OpsFilterOperatorType`, it is important to ensure
           4  +
/// your code is forward-compatible. That is, if a match arm handles a case for a
           5  +
/// feature that is supported by the service but has not been represented as an enum
           6  +
/// variant in a current version of SDK, your code should continue to work when you
           7  +
/// upgrade SDK to a future version in which the enum does include a variant for that
           8  +
/// feature.
           9  +
///
          10  +
/// Here is an example of how you can make a match expression forward-compatible:
          11  +
///
          12  +
/// ```text
          13  +
/// # let opsfilteroperatortype = unimplemented!();
          14  +
/// match opsfilteroperatortype {
          15  +
///     OpsFilterOperatorType::BeginWith => { /* ... */ },
          16  +
///     OpsFilterOperatorType::Equal => { /* ... */ },
          17  +
///     OpsFilterOperatorType::Exists => { /* ... */ },
          18  +
///     OpsFilterOperatorType::GreaterThan => { /* ... */ },
          19  +
///     OpsFilterOperatorType::LessThan => { /* ... */ },
          20  +
///     OpsFilterOperatorType::NotEqual => { /* ... */ },
          21  +
///     other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ },
          22  +
///     _ => { /* ... */ },
          23  +
/// }
          24  +
/// ```
          25  +
/// The above code demonstrates that when `opsfilteroperatortype` represents
          26  +
/// `NewFeature`, the execution path will lead to the second last match arm,
          27  +
/// even though the enum does not contain a variant `OpsFilterOperatorType::NewFeature`
          28  +
/// in the current version of SDK. The reason is that the variable `other`,
          29  +
/// created by the `@` operator, is bound to
          30  +
/// `OpsFilterOperatorType::Unknown(UnknownVariantValue("NewFeature".to_owned()))`
          31  +
/// and calling `as_str` on it yields `"NewFeature"`.
          32  +
/// This match expression is forward-compatible when executed with a newer
          33  +
/// version of SDK where the variant `OpsFilterOperatorType::NewFeature` is defined.
          34  +
/// Specifically, when `opsfilteroperatortype` represents `NewFeature`,
          35  +
/// the execution path will hit the second last match arm as before by virtue of
          36  +
/// calling `as_str` on `OpsFilterOperatorType::NewFeature` also yielding `"NewFeature"`.
          37  +
///
          38  +
/// Explicitly matching on the `Unknown` variant should
          39  +
/// be avoided for two reasons:
          40  +
/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted.
          41  +
/// - It might inadvertently shadow other intended match arms.
          42  +
///
          43  +
#[allow(missing_docs)] // documentation missing in model
          44  +
#[non_exhaustive]
          45  +
#[derive(
          46  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash,
          47  +
)]
          48  +
pub enum OpsFilterOperatorType {
          49  +
    #[allow(missing_docs)] // documentation missing in model
          50  +
    BeginWith,
          51  +
    #[allow(missing_docs)] // documentation missing in model
          52  +
    Equal,
          53  +
    #[allow(missing_docs)] // documentation missing in model
          54  +
    Exists,
          55  +
    #[allow(missing_docs)] // documentation missing in model
          56  +
    GreaterThan,
          57  +
    #[allow(missing_docs)] // documentation missing in model
          58  +
    LessThan,
          59  +
    #[allow(missing_docs)] // documentation missing in model
          60  +
    NotEqual,
          61  +
    /// `Unknown` contains new variants that have been added since this code was generated.
          62  +
    #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")]
          63  +
    Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue),
          64  +
}
          65  +
impl ::std::convert::From<&str> for OpsFilterOperatorType {
          66  +
    fn from(s: &str) -> Self {
          67  +
        match s {
          68  +
            "BeginWith" => OpsFilterOperatorType::BeginWith,
          69  +
            "Equal" => OpsFilterOperatorType::Equal,
          70  +
            "Exists" => OpsFilterOperatorType::Exists,
          71  +
            "GreaterThan" => OpsFilterOperatorType::GreaterThan,
          72  +
            "LessThan" => OpsFilterOperatorType::LessThan,
          73  +
            "NotEqual" => OpsFilterOperatorType::NotEqual,
          74  +
            other => OpsFilterOperatorType::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())),
          75  +
        }
          76  +
    }
          77  +
}
          78  +
impl ::std::str::FromStr for OpsFilterOperatorType {
          79  +
    type Err = ::std::convert::Infallible;
          80  +
          81  +
    fn from_str(s: &str) -> ::std::result::Result<Self, <Self as ::std::str::FromStr>::Err> {
          82  +
        ::std::result::Result::Ok(OpsFilterOperatorType::from(s))
          83  +
    }
          84  +
}
          85  +
impl OpsFilterOperatorType {
          86  +
    /// Returns the `&str` value of the enum member.
          87  +
    pub fn as_str(&self) -> &str {
          88  +
        match self {
          89  +
            OpsFilterOperatorType::BeginWith => "BeginWith",
          90  +
            OpsFilterOperatorType::Equal => "Equal",
          91  +
            OpsFilterOperatorType::Exists => "Exists",
          92  +
            OpsFilterOperatorType::GreaterThan => "GreaterThan",
          93  +
            OpsFilterOperatorType::LessThan => "LessThan",
          94  +
            OpsFilterOperatorType::NotEqual => "NotEqual",
          95  +
            OpsFilterOperatorType::Unknown(value) => value.as_str(),
          96  +
        }
          97  +
    }
          98  +
    /// Returns all the `&str` representations of the enum members.
          99  +
    pub const fn values() -> &'static [&'static str] {
         100  +
        &["BeginWith", "Equal", "Exists", "GreaterThan", "LessThan", "NotEqual"]
         101  +
    }
         102  +
}
         103  +
impl ::std::convert::AsRef<str> for OpsFilterOperatorType {
         104  +
    fn as_ref(&self) -> &str {
         105  +
        self.as_str()
         106  +
    }
         107  +
}
         108  +
impl OpsFilterOperatorType {
         109  +
    /// Parses the enum value while disallowing unknown variants.
         110  +
    ///
         111  +
    /// Unknown variants will result in an error.
         112  +
    pub fn try_parse(value: &str) -> ::std::result::Result<Self, crate::error::UnknownVariantError> {
         113  +
        match Self::from(value) {
         114  +
            #[allow(deprecated)]
         115  +
            Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)),
         116  +
            known => Ok(known),
         117  +
        }
         118  +
    }
         119  +
}
         120  +
impl ::std::fmt::Display for OpsFilterOperatorType {
         121  +
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
         122  +
        match self {
         123  +
            OpsFilterOperatorType::BeginWith => write!(f, "BeginWith"),
         124  +
            OpsFilterOperatorType::Equal => write!(f, "Equal"),
         125  +
            OpsFilterOperatorType::Exists => write!(f, "Exists"),
         126  +
            OpsFilterOperatorType::GreaterThan => write!(f, "GreaterThan"),
         127  +
            OpsFilterOperatorType::LessThan => write!(f, "LessThan"),
         128  +
            OpsFilterOperatorType::NotEqual => write!(f, "NotEqual"),
         129  +
            OpsFilterOperatorType::Unknown(value) => write!(f, "{value}"),
         130  +
        }
         131  +
    }
         132  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/types/_ops_item.rs

@@ -0,1 +0,1125 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>Operations engineers and IT professionals use Amazon Web Services Systems Manager OpsCenter to view, investigate, and remediate operational work items (OpsItems) impacting the performance and health of their Amazon Web Services resources. OpsCenter is integrated with Amazon EventBridge and Amazon CloudWatch. This means you can configure these services to automatically create an OpsItem in OpsCenter when a CloudWatch alarm enters the ALARM state or when EventBridge processes an event from any Amazon Web Services service that publishes events. Configuring Amazon CloudWatch alarms and EventBridge events to automatically create OpsItems allows you to quickly diagnose and remediate issues with Amazon Web Services resources from a single console.</p>
           4  +
/// <p>To help you diagnose issues, each OpsItem includes contextually relevant information such as the name and ID of the Amazon Web Services resource that generated the OpsItem, alarm or event details, alarm history, and an alarm timeline graph. For the Amazon Web Services resource, OpsCenter aggregates information from Config, CloudTrail logs, and EventBridge, so you don't have to navigate across multiple console pages during your investigation. 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>
           5  +
#[non_exhaustive]
           6  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           7  +
pub struct OpsItem {
           8  +
    /// <p>The ARN of the Amazon Web Services account that created the OpsItem.</p>
           9  +
    pub created_by: ::std::option::Option<::std::string::String>,
          10  +
    /// <p>The type of OpsItem. Systems Manager supports the following types of OpsItems:</p>
          11  +
    /// <ul>
          12  +
    /// <li>
          13  +
    /// <p><code>/aws/issue</code></p>
          14  +
    /// <p>This type of OpsItem is used for default OpsItems created by OpsCenter.</p></li>
          15  +
    /// <li>
          16  +
    /// <p><code>/aws/changerequest</code></p>
          17  +
    /// <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.</p></li>
          18  +
    /// <li>
          19  +
    /// <p><code>/aws/insight</code></p>
          20  +
    /// <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.</p></li>
          21  +
    /// </ul>
          22  +
    pub ops_item_type: ::std::option::Option<::std::string::String>,
          23  +
    /// <p>The date and time the OpsItem was created.</p>
          24  +
    pub created_time: ::std::option::Option<::aws_smithy_types::DateTime>,
          25  +
    /// <p>The OpsItem description.</p>
          26  +
    pub description: ::std::option::Option<::std::string::String>,
          27  +
    /// <p>The ARN of the Amazon Web Services account that last updated the OpsItem.</p>
          28  +
    pub last_modified_by: ::std::option::Option<::std::string::String>,
          29  +
    /// <p>The date and time the OpsItem was last updated.</p>
          30  +
    pub last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
          31  +
    /// <p>The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon SNS) topic where notifications are sent when this OpsItem is edited or changed.</p>
          32  +
    pub notifications: ::std::option::Option<::std::vec::Vec<crate::types::OpsItemNotification>>,
          33  +
    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
          34  +
    pub priority: ::std::option::Option<i32>,
          35  +
    /// <p>One or more OpsItems that share something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
          36  +
    pub related_ops_items: ::std::option::Option<::std::vec::Vec<crate::types::RelatedOpsItem>>,
          37  +
    /// <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>
          38  +
    pub status: ::std::option::Option<crate::types::OpsItemStatus>,
          39  +
    /// <p>The ID of the OpsItem.</p>
          40  +
    pub ops_item_id: ::std::option::Option<::std::string::String>,
          41  +
    /// <p>The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.</p>
          42  +
    pub version: ::std::option::Option<::std::string::String>,
          43  +
    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
          44  +
    pub title: ::std::option::Option<::std::string::String>,
          45  +
    /// <p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of source.</p>
          46  +
    pub source: ::std::option::Option<::std::string::String>,
          47  +
    /// <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>
          48  +
    /// <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>
          49  +
    /// </important>
          50  +
    /// <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>
          51  +
    /// <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>
          52  +
    pub operational_data: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::OpsItemDataValue>>,
          53  +
    /// <p>An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, Security.</p>
          54  +
    pub category: ::std::option::Option<::std::string::String>,
          55  +
    /// <p>The severity of the OpsItem. Severity options range from 1 to 4.</p>
          56  +
    pub severity: ::std::option::Option<::std::string::String>,
          57  +
    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
          58  +
    pub actual_start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
          59  +
    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
          60  +
    pub actual_end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
          61  +
    /// <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>
          62  +
    pub planned_start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
          63  +
    /// <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>
          64  +
    pub planned_end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
          65  +
    /// <p>The OpsItem Amazon Resource Name (ARN).</p>
          66  +
    pub ops_item_arn: ::std::option::Option<::std::string::String>,
          67  +
}
          68  +
impl OpsItem {
          69  +
    /// <p>The ARN of the Amazon Web Services account that created the OpsItem.</p>
          70  +
    pub fn created_by(&self) -> ::std::option::Option<&str> {
          71  +
        self.created_by.as_deref()
          72  +
    }
          73  +
    /// <p>The type of OpsItem. Systems Manager supports the following types of OpsItems:</p>
          74  +
    /// <ul>
          75  +
    /// <li>
          76  +
    /// <p><code>/aws/issue</code></p>
          77  +
    /// <p>This type of OpsItem is used for default OpsItems created by OpsCenter.</p></li>
          78  +
    /// <li>
          79  +
    /// <p><code>/aws/changerequest</code></p>
          80  +
    /// <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.</p></li>
          81  +
    /// <li>
          82  +
    /// <p><code>/aws/insight</code></p>
          83  +
    /// <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.</p></li>
          84  +
    /// </ul>
          85  +
    pub fn ops_item_type(&self) -> ::std::option::Option<&str> {
          86  +
        self.ops_item_type.as_deref()
          87  +
    }
          88  +
    /// <p>The date and time the OpsItem was created.</p>
          89  +
    pub fn created_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          90  +
        self.created_time.as_ref()
          91  +
    }
          92  +
    /// <p>The OpsItem description.</p>
          93  +
    pub fn description(&self) -> ::std::option::Option<&str> {
          94  +
        self.description.as_deref()
          95  +
    }
          96  +
    /// <p>The ARN of the Amazon Web Services account that last updated the OpsItem.</p>
          97  +
    pub fn last_modified_by(&self) -> ::std::option::Option<&str> {
          98  +
        self.last_modified_by.as_deref()
          99  +
    }
         100  +
    /// <p>The date and time the OpsItem was last updated.</p>
         101  +
    pub fn last_modified_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         102  +
        self.last_modified_time.as_ref()
         103  +
    }
         104  +
    /// <p>The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon SNS) topic where notifications are sent when this OpsItem is edited or changed.</p>
         105  +
    ///
         106  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.notifications.is_none()`.
         107  +
    pub fn notifications(&self) -> &[crate::types::OpsItemNotification] {
         108  +
        self.notifications.as_deref().unwrap_or_default()
         109  +
    }
         110  +
    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
         111  +
    pub fn priority(&self) -> ::std::option::Option<i32> {
         112  +
        self.priority
         113  +
    }
         114  +
    /// <p>One or more OpsItems that share something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
         115  +
    ///
         116  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.related_ops_items.is_none()`.
         117  +
    pub fn related_ops_items(&self) -> &[crate::types::RelatedOpsItem] {
         118  +
        self.related_ops_items.as_deref().unwrap_or_default()
         119  +
    }
         120  +
    /// <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>
         121  +
    pub fn status(&self) -> ::std::option::Option<&crate::types::OpsItemStatus> {
         122  +
        self.status.as_ref()
         123  +
    }
         124  +
    /// <p>The ID of the OpsItem.</p>
         125  +
    pub fn ops_item_id(&self) -> ::std::option::Option<&str> {
         126  +
        self.ops_item_id.as_deref()
         127  +
    }
         128  +
    /// <p>The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.</p>
         129  +
    pub fn version(&self) -> ::std::option::Option<&str> {
         130  +
        self.version.as_deref()
         131  +
    }
         132  +
    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
         133  +
    pub fn title(&self) -> ::std::option::Option<&str> {
         134  +
        self.title.as_deref()
         135  +
    }
         136  +
    /// <p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of source.</p>
         137  +
    pub fn source(&self) -> ::std::option::Option<&str> {
         138  +
        self.source.as_deref()
         139  +
    }
         140  +
    /// <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>
         141  +
    /// <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>
         142  +
    /// </important>
         143  +
    /// <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>
         144  +
    /// <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>
         145  +
    pub fn operational_data(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::OpsItemDataValue>> {
         146  +
        self.operational_data.as_ref()
         147  +
    }
         148  +
    /// <p>An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, Security.</p>
         149  +
    pub fn category(&self) -> ::std::option::Option<&str> {
         150  +
        self.category.as_deref()
         151  +
    }
         152  +
    /// <p>The severity of the OpsItem. Severity options range from 1 to 4.</p>
         153  +
    pub fn severity(&self) -> ::std::option::Option<&str> {
         154  +
        self.severity.as_deref()
         155  +
    }
         156  +
    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         157  +
    pub fn actual_start_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         158  +
        self.actual_start_time.as_ref()
         159  +
    }
         160  +
    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
         161  +
    pub fn actual_end_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         162  +
        self.actual_end_time.as_ref()
         163  +
    }
         164  +
    /// <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>
         165  +
    pub fn planned_start_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         166  +
        self.planned_start_time.as_ref()
         167  +
    }
         168  +
    /// <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>
         169  +
    pub fn planned_end_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         170  +
        self.planned_end_time.as_ref()
         171  +
    }
         172  +
    /// <p>The OpsItem Amazon Resource Name (ARN).</p>
         173  +
    pub fn ops_item_arn(&self) -> ::std::option::Option<&str> {
         174  +
        self.ops_item_arn.as_deref()
         175  +
    }
         176  +
}
         177  +
static OPSITEM_MEMBER_CREATED_BY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         178  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$CreatedBy", "com.amazonaws.ssm", "OpsItem"),
         179  +
    ::aws_smithy_schema::ShapeType::String,
         180  +
    "CreatedBy",
         181  +
    0,
         182  +
);
         183  +
static OPSITEM_MEMBER_OPS_ITEM_TYPE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         184  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$OpsItemType", "com.amazonaws.ssm", "OpsItem"),
         185  +
    ::aws_smithy_schema::ShapeType::String,
         186  +
    "OpsItemType",
         187  +
    1,
         188  +
);
         189  +
static OPSITEM_MEMBER_CREATED_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         190  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$CreatedTime", "com.amazonaws.ssm", "OpsItem"),
         191  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         192  +
    "CreatedTime",
         193  +
    2,
         194  +
);
         195  +
static OPSITEM_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         196  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$Description", "com.amazonaws.ssm", "OpsItem"),
         197  +
    ::aws_smithy_schema::ShapeType::String,
         198  +
    "Description",
         199  +
    3,
         200  +
);
         201  +
static OPSITEM_MEMBER_LAST_MODIFIED_BY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         202  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$LastModifiedBy", "com.amazonaws.ssm", "OpsItem"),
         203  +
    ::aws_smithy_schema::ShapeType::String,
         204  +
    "LastModifiedBy",
         205  +
    4,
         206  +
);
         207  +
static OPSITEM_MEMBER_LAST_MODIFIED_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         208  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$LastModifiedTime", "com.amazonaws.ssm", "OpsItem"),
         209  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         210  +
    "LastModifiedTime",
         211  +
    5,
         212  +
);
         213  +
static OPSITEM_MEMBER_NOTIFICATIONS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         214  +
    ::aws_smithy_schema::ShapeId::from_parts(
         215  +
        "com.amazonaws.ssm#OpsItemNotifications$member",
         216  +
        "com.amazonaws.ssm",
         217  +
        "OpsItemNotifications",
         218  +
    ),
         219  +
    ::aws_smithy_schema::ShapeType::Structure,
         220  +
    "member",
         221  +
    0,
         222  +
);
         223  +
static OPSITEM_MEMBER_NOTIFICATIONS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         224  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$Notifications", "com.amazonaws.ssm", "OpsItem"),
         225  +
    ::aws_smithy_schema::ShapeType::List,
         226  +
    "Notifications",
         227  +
    6,
         228  +
)
         229  +
.with_list_member(&OPSITEM_MEMBER_NOTIFICATIONS_MEMBER);
         230  +
static OPSITEM_MEMBER_PRIORITY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         231  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$Priority", "com.amazonaws.ssm", "OpsItem"),
         232  +
    ::aws_smithy_schema::ShapeType::Integer,
         233  +
    "Priority",
         234  +
    7,
         235  +
);
         236  +
static OPSITEM_MEMBER_RELATED_OPS_ITEMS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         237  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#RelatedOpsItems$member", "com.amazonaws.ssm", "RelatedOpsItems"),
         238  +
    ::aws_smithy_schema::ShapeType::Structure,
         239  +
    "member",
         240  +
    0,
         241  +
);
         242  +
static OPSITEM_MEMBER_RELATED_OPS_ITEMS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         243  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$RelatedOpsItems", "com.amazonaws.ssm", "OpsItem"),
         244  +
    ::aws_smithy_schema::ShapeType::List,
         245  +
    "RelatedOpsItems",
         246  +
    8,
         247  +
)
         248  +
.with_list_member(&OPSITEM_MEMBER_RELATED_OPS_ITEMS_MEMBER);
         249  +
static OPSITEM_MEMBER_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         250  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$Status", "com.amazonaws.ssm", "OpsItem"),
         251  +
    ::aws_smithy_schema::ShapeType::String,
         252  +
    "Status",
         253  +
    9,
         254  +
);
         255  +
static OPSITEM_MEMBER_OPS_ITEM_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         256  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$OpsItemId", "com.amazonaws.ssm", "OpsItem"),
         257  +
    ::aws_smithy_schema::ShapeType::String,
         258  +
    "OpsItemId",
         259  +
    10,
         260  +
);
         261  +
static OPSITEM_MEMBER_VERSION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         262  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$Version", "com.amazonaws.ssm", "OpsItem"),
         263  +
    ::aws_smithy_schema::ShapeType::String,
         264  +
    "Version",
         265  +
    11,
         266  +
);
         267  +
static OPSITEM_MEMBER_TITLE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         268  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$Title", "com.amazonaws.ssm", "OpsItem"),
         269  +
    ::aws_smithy_schema::ShapeType::String,
         270  +
    "Title",
         271  +
    12,
         272  +
);
         273  +
static OPSITEM_MEMBER_SOURCE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         274  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$Source", "com.amazonaws.ssm", "OpsItem"),
         275  +
    ::aws_smithy_schema::ShapeType::String,
         276  +
    "Source",
         277  +
    13,
         278  +
);
         279  +
static OPSITEM_MEMBER_OPERATIONAL_DATA_KEY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         280  +
    ::aws_smithy_schema::ShapeId::from_parts(
         281  +
        "com.amazonaws.ssm#OpsItemOperationalData$key",
         282  +
        "com.amazonaws.ssm",
         283  +
        "OpsItemOperationalData",
         284  +
    ),
         285  +
    ::aws_smithy_schema::ShapeType::String,
         286  +
    "key",
         287  +
    0,
         288  +
);
         289  +
static OPSITEM_MEMBER_OPERATIONAL_DATA_VALUE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         290  +
    ::aws_smithy_schema::ShapeId::from_parts(
         291  +
        "com.amazonaws.ssm#OpsItemOperationalData$value",
         292  +
        "com.amazonaws.ssm",
         293  +
        "OpsItemOperationalData",
         294  +
    ),
         295  +
    ::aws_smithy_schema::ShapeType::Structure,
         296  +
    "value",
         297  +
    1,
         298  +
);
         299  +
static OPSITEM_MEMBER_OPERATIONAL_DATA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         300  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$OperationalData", "com.amazonaws.ssm", "OpsItem"),
         301  +
    ::aws_smithy_schema::ShapeType::Map,
         302  +
    "OperationalData",
         303  +
    14,
         304  +
)
         305  +
.with_map_members(&OPSITEM_MEMBER_OPERATIONAL_DATA_KEY, &OPSITEM_MEMBER_OPERATIONAL_DATA_VALUE);
         306  +
static OPSITEM_MEMBER_CATEGORY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         307  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$Category", "com.amazonaws.ssm", "OpsItem"),
         308  +
    ::aws_smithy_schema::ShapeType::String,
         309  +
    "Category",
         310  +
    15,
         311  +
);
         312  +
static OPSITEM_MEMBER_SEVERITY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         313  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$Severity", "com.amazonaws.ssm", "OpsItem"),
         314  +
    ::aws_smithy_schema::ShapeType::String,
         315  +
    "Severity",
         316  +
    16,
         317  +
);
         318  +
static OPSITEM_MEMBER_ACTUAL_START_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         319  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$ActualStartTime", "com.amazonaws.ssm", "OpsItem"),
         320  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         321  +
    "ActualStartTime",
         322  +
    17,
         323  +
);
         324  +
static OPSITEM_MEMBER_ACTUAL_END_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         325  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$ActualEndTime", "com.amazonaws.ssm", "OpsItem"),
         326  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         327  +
    "ActualEndTime",
         328  +
    18,
         329  +
);
         330  +
static OPSITEM_MEMBER_PLANNED_START_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         331  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$PlannedStartTime", "com.amazonaws.ssm", "OpsItem"),
         332  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         333  +
    "PlannedStartTime",
         334  +
    19,
         335  +
);
         336  +
static OPSITEM_MEMBER_PLANNED_END_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         337  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$PlannedEndTime", "com.amazonaws.ssm", "OpsItem"),
         338  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         339  +
    "PlannedEndTime",
         340  +
    20,
         341  +
);
         342  +
static OPSITEM_MEMBER_OPS_ITEM_ARN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         343  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem$OpsItemArn", "com.amazonaws.ssm", "OpsItem"),
         344  +
    ::aws_smithy_schema::ShapeType::String,
         345  +
    "OpsItemArn",
         346  +
    21,
         347  +
);
         348  +
static OPSITEM_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         349  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#OpsItem", "com.amazonaws.ssm", "OpsItem"),
         350  +
    ::aws_smithy_schema::ShapeType::Structure,
         351  +
    &[
         352  +
        &OPSITEM_MEMBER_CREATED_BY,
         353  +
        &OPSITEM_MEMBER_OPS_ITEM_TYPE,
         354  +
        &OPSITEM_MEMBER_CREATED_TIME,
         355  +
        &OPSITEM_MEMBER_DESCRIPTION,
         356  +
        &OPSITEM_MEMBER_LAST_MODIFIED_BY,
         357  +
        &OPSITEM_MEMBER_LAST_MODIFIED_TIME,
         358  +
        &OPSITEM_MEMBER_NOTIFICATIONS,
         359  +
        &OPSITEM_MEMBER_PRIORITY,
         360  +
        &OPSITEM_MEMBER_RELATED_OPS_ITEMS,
         361  +
        &OPSITEM_MEMBER_STATUS,
         362  +
        &OPSITEM_MEMBER_OPS_ITEM_ID,
         363  +
        &OPSITEM_MEMBER_VERSION,
         364  +
        &OPSITEM_MEMBER_TITLE,
         365  +
        &OPSITEM_MEMBER_SOURCE,
         366  +
        &OPSITEM_MEMBER_OPERATIONAL_DATA,
         367  +
        &OPSITEM_MEMBER_CATEGORY,
         368  +
        &OPSITEM_MEMBER_SEVERITY,
         369  +
        &OPSITEM_MEMBER_ACTUAL_START_TIME,
         370  +
        &OPSITEM_MEMBER_ACTUAL_END_TIME,
         371  +
        &OPSITEM_MEMBER_PLANNED_START_TIME,
         372  +
        &OPSITEM_MEMBER_PLANNED_END_TIME,
         373  +
        &OPSITEM_MEMBER_OPS_ITEM_ARN,
         374  +
    ],
         375  +
);
         376  +
impl OpsItem {
         377  +
    /// The schema for this shape.
         378  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &OPSITEM_SCHEMA;
         379  +
}
         380  +
impl ::aws_smithy_schema::serde::SerializableStruct for OpsItem {
         381  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         382  +
    fn serialize_members(
         383  +
        &self,
         384  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         385  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         386  +
        if let Some(ref val) = self.created_by {
         387  +
            ser.write_string(&OPSITEM_MEMBER_CREATED_BY, val)?;
         388  +
        }
         389  +
        if let Some(ref val) = self.ops_item_type {
         390  +
            ser.write_string(&OPSITEM_MEMBER_OPS_ITEM_TYPE, val)?;
         391  +
        }
         392  +
        if let Some(ref val) = self.created_time {
         393  +
            ser.write_timestamp(&OPSITEM_MEMBER_CREATED_TIME, val)?;
         394  +
        }
         395  +
        if let Some(ref val) = self.description {
         396  +
            ser.write_string(&OPSITEM_MEMBER_DESCRIPTION, val)?;
         397  +
        }
         398  +
        if let Some(ref val) = self.last_modified_by {
         399  +
            ser.write_string(&OPSITEM_MEMBER_LAST_MODIFIED_BY, val)?;
         400  +
        }
         401  +
        if let Some(ref val) = self.last_modified_time {
         402  +
            ser.write_timestamp(&OPSITEM_MEMBER_LAST_MODIFIED_TIME, val)?;
         403  +
        }
         404  +
        if let Some(ref val) = self.notifications {
         405  +
            ser.write_list(
         406  +
                &OPSITEM_MEMBER_NOTIFICATIONS,
         407  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         408  +
                    for item in val {
         409  +
                        ser.write_struct(crate::types::OpsItemNotification::SCHEMA, item)?;
         410  +
                    }
         411  +
                    Ok(())
         412  +
                },
         413  +
            )?;
         414  +
        }
         415  +
        if let Some(ref val) = self.priority {
         416  +
            ser.write_integer(&OPSITEM_MEMBER_PRIORITY, *val)?;
         417  +
        }
         418  +
        if let Some(ref val) = self.related_ops_items {
         419  +
            ser.write_list(
         420  +
                &OPSITEM_MEMBER_RELATED_OPS_ITEMS,
         421  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         422  +
                    for item in val {
         423  +
                        ser.write_struct(crate::types::RelatedOpsItem::SCHEMA, item)?;
         424  +
                    }
         425  +
                    Ok(())
         426  +
                },
         427  +
            )?;
         428  +
        }
         429  +
        if let Some(ref val) = self.status {
         430  +
            ser.write_string(&OPSITEM_MEMBER_STATUS, val.as_str())?;
         431  +
        }
         432  +
        if let Some(ref val) = self.ops_item_id {
         433  +
            ser.write_string(&OPSITEM_MEMBER_OPS_ITEM_ID, val)?;
         434  +
        }
         435  +
        if let Some(ref val) = self.version {
         436  +
            ser.write_string(&OPSITEM_MEMBER_VERSION, val)?;
         437  +
        }
         438  +
        if let Some(ref val) = self.title {
         439  +
            ser.write_string(&OPSITEM_MEMBER_TITLE, val)?;
         440  +
        }
         441  +
        if let Some(ref val) = self.source {
         442  +
            ser.write_string(&OPSITEM_MEMBER_SOURCE, val)?;
         443  +
        }
         444  +
        if let Some(ref val) = self.operational_data {
         445  +
            ser.write_map(
         446  +
                &OPSITEM_MEMBER_OPERATIONAL_DATA,
         447  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         448  +
                    for (key, value) in val {
         449  +
                        ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
         450  +
                        ser.write_struct(crate::types::OpsItemDataValue::SCHEMA, value)?;
         451  +
                    }
         452  +
                    Ok(())
         453  +
                },
         454  +
            )?;
         455  +
        }
         456  +
        if let Some(ref val) = self.category {
         457  +
            ser.write_string(&OPSITEM_MEMBER_CATEGORY, val)?;
         458  +
        }
         459  +
        if let Some(ref val) = self.severity {
         460  +
            ser.write_string(&OPSITEM_MEMBER_SEVERITY, val)?;
         461  +
        }
         462  +
        if let Some(ref val) = self.actual_start_time {
         463  +
            ser.write_timestamp(&OPSITEM_MEMBER_ACTUAL_START_TIME, val)?;
         464  +
        }
         465  +
        if let Some(ref val) = self.actual_end_time {
         466  +
            ser.write_timestamp(&OPSITEM_MEMBER_ACTUAL_END_TIME, val)?;
         467  +
        }
         468  +
        if let Some(ref val) = self.planned_start_time {
         469  +
            ser.write_timestamp(&OPSITEM_MEMBER_PLANNED_START_TIME, val)?;
         470  +
        }
         471  +
        if let Some(ref val) = self.planned_end_time {
         472  +
            ser.write_timestamp(&OPSITEM_MEMBER_PLANNED_END_TIME, val)?;
         473  +
        }
         474  +
        if let Some(ref val) = self.ops_item_arn {
         475  +
            ser.write_string(&OPSITEM_MEMBER_OPS_ITEM_ARN, val)?;
         476  +
        }
         477  +
        Ok(())
         478  +
    }
         479  +
}
         480  +
impl OpsItem {
         481  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         482  +
    pub fn deserialize(
         483  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         484  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         485  +
        #[allow(unused_variables, unused_mut)]
         486  +
        let mut builder = Self::builder();
         487  +
        #[allow(
         488  +
            unused_variables,
         489  +
            unreachable_code,
         490  +
            clippy::single_match,
         491  +
            clippy::match_single_binding,
         492  +
            clippy::diverging_sub_expression
         493  +
        )]
         494  +
        deserializer.read_struct(&OPSITEM_SCHEMA, &mut |member, deser| {
         495  +
            match member.member_index() {
         496  +
                Some(0) => {
         497  +
                    if deser.is_null() {
         498  +
                        deser.read_null()?;
         499  +
                    } else {
         500  +
                        builder.created_by = Some(deser.read_string(member)?);
         501  +
                    }
         502  +
                }
         503  +
                Some(1) => {
         504  +
                    if deser.is_null() {
         505  +
                        deser.read_null()?;
         506  +
                    } else {
         507  +
                        builder.ops_item_type = Some(deser.read_string(member)?);
         508  +
                    }
         509  +
                }
         510  +
                Some(2) => {
         511  +
                    if deser.is_null() {
         512  +
                        deser.read_null()?;
         513  +
                    } else {
         514  +
                        builder.created_time = Some(deser.read_timestamp(member)?);
         515  +
                    }
         516  +
                }
         517  +
                Some(3) => {
         518  +
                    if deser.is_null() {
         519  +
                        deser.read_null()?;
         520  +
                    } else {
         521  +
                        builder.description = Some(deser.read_string(member)?);
         522  +
                    }
         523  +
                }
         524  +
                Some(4) => {
         525  +
                    if deser.is_null() {
         526  +
                        deser.read_null()?;
         527  +
                    } else {
         528  +
                        builder.last_modified_by = Some(deser.read_string(member)?);
         529  +
                    }
         530  +
                }
         531  +
                Some(5) => {
         532  +
                    if deser.is_null() {
         533  +
                        deser.read_null()?;
         534  +
                    } else {
         535  +
                        builder.last_modified_time = Some(deser.read_timestamp(member)?);
         536  +
                    }
         537  +
                }
         538  +
                Some(6) => {
         539  +
                    if deser.is_null() {
         540  +
                        deser.read_null()?;
         541  +
                    } else {
         542  +
                        builder.notifications = Some({
         543  +
                            let mut container = Vec::new();
         544  +
                            deser.read_list(member, &mut |deser| {
         545  +
                                container.push(crate::types::OpsItemNotification::deserialize(deser)?);
         546  +
                                Ok(())
         547  +
                            })?;
         548  +
                            container
         549  +
                        });
         550  +
                    }
         551  +
                }
         552  +
                Some(7) => {
         553  +
                    if deser.is_null() {
         554  +
                        deser.read_null()?;
         555  +
                    } else {
         556  +
                        builder.priority = Some(deser.read_integer(member)?);
         557  +
                    }
         558  +
                }
         559  +
                Some(8) => {
         560  +
                    if deser.is_null() {
         561  +
                        deser.read_null()?;
         562  +
                    } else {
         563  +
                        builder.related_ops_items = Some({
         564  +
                            let mut container = Vec::new();
         565  +
                            deser.read_list(member, &mut |deser| {
         566  +
                                container.push(crate::types::RelatedOpsItem::deserialize(deser)?);
         567  +
                                Ok(())
         568  +
                            })?;
         569  +
                            container
         570  +
                        });
         571  +
                    }
         572  +
                }
         573  +
                Some(9) => {
         574  +
                    if deser.is_null() {
         575  +
                        deser.read_null()?;
         576  +
                    } else {
         577  +
                        builder.status = Some(crate::types::OpsItemStatus::from(deser.read_string(member)?.as_str()));
         578  +
                    }
         579  +
                }
         580  +
                Some(10) => {
         581  +
                    if deser.is_null() {
         582  +
                        deser.read_null()?;
         583  +
                    } else {
         584  +
                        builder.ops_item_id = Some(deser.read_string(member)?);
         585  +
                    }
         586  +
                }
         587  +
                Some(11) => {
         588  +
                    if deser.is_null() {
         589  +
                        deser.read_null()?;
         590  +
                    } else {
         591  +
                        builder.version = Some(deser.read_string(member)?);
         592  +
                    }
         593  +
                }
         594  +
                Some(12) => {
         595  +
                    if deser.is_null() {
         596  +
                        deser.read_null()?;
         597  +
                    } else {
         598  +
                        builder.title = Some(deser.read_string(member)?);
         599  +
                    }
         600  +
                }
         601  +
                Some(13) => {
         602  +
                    if deser.is_null() {
         603  +
                        deser.read_null()?;
         604  +
                    } else {
         605  +
                        builder.source = Some(deser.read_string(member)?);
         606  +
                    }
         607  +
                }
         608  +
                Some(14) => {
         609  +
                    if deser.is_null() {
         610  +
                        deser.read_null()?;
         611  +
                    } else {
         612  +
                        builder.operational_data = Some({
         613  +
                            let mut container = std::collections::HashMap::new();
         614  +
                            deser.read_map(member, &mut |key, deser| {
         615  +
                                container.insert(key, crate::types::OpsItemDataValue::deserialize(deser)?);
         616  +
                                Ok(())
         617  +
                            })?;
         618  +
                            container
         619  +
                        });
         620  +
                    }
         621  +
                }
         622  +
                Some(15) => {
         623  +
                    if deser.is_null() {
         624  +
                        deser.read_null()?;
         625  +
                    } else {
         626  +
                        builder.category = Some(deser.read_string(member)?);
         627  +
                    }
         628  +
                }
         629  +
                Some(16) => {
         630  +
                    if deser.is_null() {
         631  +
                        deser.read_null()?;
         632  +
                    } else {
         633  +
                        builder.severity = Some(deser.read_string(member)?);
         634  +
                    }
         635  +
                }
         636  +
                Some(17) => {
         637  +
                    if deser.is_null() {
         638  +
                        deser.read_null()?;
         639  +
                    } else {
         640  +
                        builder.actual_start_time = Some(deser.read_timestamp(member)?);
         641  +
                    }
         642  +
                }
         643  +
                Some(18) => {
         644  +
                    if deser.is_null() {
         645  +
                        deser.read_null()?;
         646  +
                    } else {
         647  +
                        builder.actual_end_time = Some(deser.read_timestamp(member)?);
         648  +
                    }
         649  +
                }
         650  +
                Some(19) => {
         651  +
                    if deser.is_null() {
         652  +
                        deser.read_null()?;
         653  +
                    } else {
         654  +
                        builder.planned_start_time = Some(deser.read_timestamp(member)?);
         655  +
                    }
         656  +
                }
         657  +
                Some(20) => {
         658  +
                    if deser.is_null() {
         659  +
                        deser.read_null()?;
         660  +
                    } else {
         661  +
                        builder.planned_end_time = Some(deser.read_timestamp(member)?);
         662  +
                    }
         663  +
                }
         664  +
                Some(21) => {
         665  +
                    if deser.is_null() {
         666  +
                        deser.read_null()?;
         667  +
                    } else {
         668  +
                        builder.ops_item_arn = Some(deser.read_string(member)?);
         669  +
                    }
         670  +
                }
         671  +
                _ => {}
         672  +
            }
         673  +
            Ok(())
         674  +
        })?;
         675  +
        Ok(builder.build())
         676  +
    }
         677  +
}
         678  +
impl OpsItem {
         679  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         680  +
    pub fn deserialize_with_response(
         681  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         682  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         683  +
        _status: u16,
         684  +
        _body: &[u8],
         685  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         686  +
        Self::deserialize(deserializer)
         687  +
    }
         688  +
}
         689  +
impl OpsItem {
         690  +
    /// Creates a new builder-style object to manufacture [`OpsItem`](crate::types::OpsItem).
         691  +
    pub fn builder() -> crate::types::builders::OpsItemBuilder {
         692  +
        crate::types::builders::OpsItemBuilder::default()
         693  +
    }
         694  +
}
         695  +
         696  +
/// A builder for [`OpsItem`](crate::types::OpsItem).
         697  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         698  +
#[non_exhaustive]
         699  +
pub struct OpsItemBuilder {
         700  +
    pub(crate) created_by: ::std::option::Option<::std::string::String>,
         701  +
    pub(crate) ops_item_type: ::std::option::Option<::std::string::String>,
         702  +
    pub(crate) created_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         703  +
    pub(crate) description: ::std::option::Option<::std::string::String>,
         704  +
    pub(crate) last_modified_by: ::std::option::Option<::std::string::String>,
         705  +
    pub(crate) last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         706  +
    pub(crate) notifications: ::std::option::Option<::std::vec::Vec<crate::types::OpsItemNotification>>,
         707  +
    pub(crate) priority: ::std::option::Option<i32>,
         708  +
    pub(crate) related_ops_items: ::std::option::Option<::std::vec::Vec<crate::types::RelatedOpsItem>>,
         709  +
    pub(crate) status: ::std::option::Option<crate::types::OpsItemStatus>,
         710  +
    pub(crate) ops_item_id: ::std::option::Option<::std::string::String>,
         711  +
    pub(crate) version: ::std::option::Option<::std::string::String>,
         712  +
    pub(crate) title: ::std::option::Option<::std::string::String>,
         713  +
    pub(crate) source: ::std::option::Option<::std::string::String>,
         714  +
    pub(crate) operational_data: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::OpsItemDataValue>>,
         715  +
    pub(crate) category: ::std::option::Option<::std::string::String>,
         716  +
    pub(crate) severity: ::std::option::Option<::std::string::String>,
         717  +
    pub(crate) actual_start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         718  +
    pub(crate) actual_end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         719  +
    pub(crate) planned_start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         720  +
    pub(crate) planned_end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         721  +
    pub(crate) ops_item_arn: ::std::option::Option<::std::string::String>,
         722  +
}
         723  +
impl OpsItemBuilder {
         724  +
    /// <p>The ARN of the Amazon Web Services account that created the OpsItem.</p>
         725  +
    pub fn created_by(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         726  +
        self.created_by = ::std::option::Option::Some(input.into());
         727  +
        self
         728  +
    }
         729  +
    /// <p>The ARN of the Amazon Web Services account that created the OpsItem.</p>
         730  +
    pub fn set_created_by(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         731  +
        self.created_by = input;
         732  +
        self
         733  +
    }
         734  +
    /// <p>The ARN of the Amazon Web Services account that created the OpsItem.</p>
         735  +
    pub fn get_created_by(&self) -> &::std::option::Option<::std::string::String> {
         736  +
        &self.created_by
         737  +
    }
         738  +
    /// <p>The type of OpsItem. Systems Manager supports the following types of OpsItems:</p>
         739  +
    /// <ul>
         740  +
    /// <li>
         741  +
    /// <p><code>/aws/issue</code></p>
         742  +
    /// <p>This type of OpsItem is used for default OpsItems created by OpsCenter.</p></li>
         743  +
    /// <li>
         744  +
    /// <p><code>/aws/changerequest</code></p>
         745  +
    /// <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.</p></li>
         746  +
    /// <li>
         747  +
    /// <p><code>/aws/insight</code></p>
         748  +
    /// <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.</p></li>
         749  +
    /// </ul>
         750  +
    pub fn ops_item_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         751  +
        self.ops_item_type = ::std::option::Option::Some(input.into());
         752  +
        self
         753  +
    }
         754  +
    /// <p>The type of OpsItem. Systems Manager supports the following types of OpsItems:</p>
         755  +
    /// <ul>
         756  +
    /// <li>
         757  +
    /// <p><code>/aws/issue</code></p>
         758  +
    /// <p>This type of OpsItem is used for default OpsItems created by OpsCenter.</p></li>
         759  +
    /// <li>
         760  +
    /// <p><code>/aws/changerequest</code></p>
         761  +
    /// <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.</p></li>
         762  +
    /// <li>
         763  +
    /// <p><code>/aws/insight</code></p>
         764  +
    /// <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.</p></li>
         765  +
    /// </ul>
         766  +
    pub fn set_ops_item_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         767  +
        self.ops_item_type = input;
         768  +
        self
         769  +
    }
         770  +
    /// <p>The type of OpsItem. Systems Manager supports the following types of OpsItems:</p>
         771  +
    /// <ul>
         772  +
    /// <li>
         773  +
    /// <p><code>/aws/issue</code></p>
         774  +
    /// <p>This type of OpsItem is used for default OpsItems created by OpsCenter.</p></li>
         775  +
    /// <li>
         776  +
    /// <p><code>/aws/changerequest</code></p>
         777  +
    /// <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.</p></li>
         778  +
    /// <li>
         779  +
    /// <p><code>/aws/insight</code></p>
         780  +
    /// <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.</p></li>
         781  +
    /// </ul>
         782  +
    pub fn get_ops_item_type(&self) -> &::std::option::Option<::std::string::String> {
         783  +
        &self.ops_item_type
         784  +
    }
         785  +
    /// <p>The date and time the OpsItem was created.</p>
         786  +
    pub fn created_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         787  +
        self.created_time = ::std::option::Option::Some(input);
         788  +
        self
         789  +
    }
         790  +
    /// <p>The date and time the OpsItem was created.</p>
         791  +
    pub fn set_created_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         792  +
        self.created_time = input;
         793  +
        self
         794  +
    }
         795  +
    /// <p>The date and time the OpsItem was created.</p>
         796  +
    pub fn get_created_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         797  +
        &self.created_time
         798  +
    }
         799  +
    /// <p>The OpsItem description.</p>
         800  +
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         801  +
        self.description = ::std::option::Option::Some(input.into());
         802  +
        self
         803  +
    }
         804  +
    /// <p>The OpsItem description.</p>
         805  +
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         806  +
        self.description = input;
         807  +
        self
         808  +
    }
         809  +
    /// <p>The OpsItem description.</p>
         810  +
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
         811  +
        &self.description
         812  +
    }
         813  +
    /// <p>The ARN of the Amazon Web Services account that last updated the OpsItem.</p>
         814  +
    pub fn last_modified_by(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         815  +
        self.last_modified_by = ::std::option::Option::Some(input.into());
         816  +
        self
         817  +
    }
         818  +
    /// <p>The ARN of the Amazon Web Services account that last updated the OpsItem.</p>
         819  +
    pub fn set_last_modified_by(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         820  +
        self.last_modified_by = input;
         821  +
        self
         822  +
    }
         823  +
    /// <p>The ARN of the Amazon Web Services account that last updated the OpsItem.</p>
         824  +
    pub fn get_last_modified_by(&self) -> &::std::option::Option<::std::string::String> {
         825  +
        &self.last_modified_by
         826  +
    }
         827  +
    /// <p>The date and time the OpsItem was last updated.</p>
         828  +
    pub fn last_modified_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         829  +
        self.last_modified_time = ::std::option::Option::Some(input);
         830  +
        self
         831  +
    }
         832  +
    /// <p>The date and time the OpsItem was last updated.</p>
         833  +
    pub fn set_last_modified_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         834  +
        self.last_modified_time = input;
         835  +
        self
         836  +
    }
         837  +
    /// <p>The date and time the OpsItem was last updated.</p>
         838  +
    pub fn get_last_modified_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         839  +
        &self.last_modified_time
         840  +
    }
         841  +
    /// Appends an item to `notifications`.
         842  +
    ///
         843  +
    /// To override the contents of this collection use [`set_notifications`](Self::set_notifications).
         844  +
    ///
         845  +
    /// <p>The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon SNS) topic where notifications are sent when this OpsItem is edited or changed.</p>
         846  +
    pub fn notifications(mut self, input: crate::types::OpsItemNotification) -> Self {
         847  +
        let mut v = self.notifications.unwrap_or_default();
         848  +
        v.push(input);
         849  +
        self.notifications = ::std::option::Option::Some(v);
         850  +
        self
         851  +
    }
         852  +
    /// <p>The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon SNS) topic where notifications are sent when this OpsItem is edited or changed.</p>
         853  +
    pub fn set_notifications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OpsItemNotification>>) -> Self {
         854  +
        self.notifications = input;
         855  +
        self
         856  +
    }
         857  +
    /// <p>The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon SNS) topic where notifications are sent when this OpsItem is edited or changed.</p>
         858  +
    pub fn get_notifications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OpsItemNotification>> {
         859  +
        &self.notifications
         860  +
    }
         861  +
    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
         862  +
    pub fn priority(mut self, input: i32) -> Self {
         863  +
        self.priority = ::std::option::Option::Some(input);
         864  +
        self
         865  +
    }
         866  +
    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
         867  +
    pub fn set_priority(mut self, input: ::std::option::Option<i32>) -> Self {
         868  +
        self.priority = input;
         869  +
        self
         870  +
    }
         871  +
    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
         872  +
    pub fn get_priority(&self) -> &::std::option::Option<i32> {
         873  +
        &self.priority
         874  +
    }
         875  +
    /// Appends an item to `related_ops_items`.
         876  +
    ///
         877  +
    /// To override the contents of this collection use [`set_related_ops_items`](Self::set_related_ops_items).
         878  +
    ///
         879  +
    /// <p>One or more OpsItems that share something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
         880  +
    pub fn related_ops_items(mut self, input: crate::types::RelatedOpsItem) -> Self {
         881  +
        let mut v = self.related_ops_items.unwrap_or_default();
         882  +
        v.push(input);
         883  +
        self.related_ops_items = ::std::option::Option::Some(v);
         884  +
        self
         885  +
    }
         886  +
    /// <p>One or more OpsItems that share something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
         887  +
    pub fn set_related_ops_items(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RelatedOpsItem>>) -> Self {
         888  +
        self.related_ops_items = input;
         889  +
        self
         890  +
    }
         891  +
    /// <p>One or more OpsItems that share something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
         892  +
    pub fn get_related_ops_items(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RelatedOpsItem>> {
         893  +
        &self.related_ops_items
         894  +
    }
         895  +
    /// <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>
         896  +
    pub fn status(mut self, input: crate::types::OpsItemStatus) -> Self {
         897  +
        self.status = ::std::option::Option::Some(input);
         898  +
        self
         899  +
    }
         900  +
    /// <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>
         901  +
    pub fn set_status(mut self, input: ::std::option::Option<crate::types::OpsItemStatus>) -> Self {
         902  +
        self.status = input;
         903  +
        self
         904  +
    }
         905  +
    /// <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>
         906  +
    pub fn get_status(&self) -> &::std::option::Option<crate::types::OpsItemStatus> {
         907  +
        &self.status
         908  +
    }
         909  +
    /// <p>The ID of the OpsItem.</p>
         910  +
    pub fn ops_item_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         911  +
        self.ops_item_id = ::std::option::Option::Some(input.into());
         912  +
        self
         913  +
    }
         914  +
    /// <p>The ID of the OpsItem.</p>
         915  +
    pub fn set_ops_item_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         916  +
        self.ops_item_id = input;
         917  +
        self
         918  +
    }
         919  +
    /// <p>The ID of the OpsItem.</p>
         920  +
    pub fn get_ops_item_id(&self) -> &::std::option::Option<::std::string::String> {
         921  +
        &self.ops_item_id
         922  +
    }
         923  +
    /// <p>The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.</p>
         924  +
    pub fn version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         925  +
        self.version = ::std::option::Option::Some(input.into());
         926  +
        self
         927  +
    }
         928  +
    /// <p>The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.</p>
         929  +
    pub fn set_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         930  +
        self.version = input;
         931  +
        self
         932  +
    }
         933  +
    /// <p>The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.</p>
         934  +
    pub fn get_version(&self) -> &::std::option::Option<::std::string::String> {
         935  +
        &self.version
         936  +
    }
         937  +
    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
         938  +
    pub fn title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         939  +
        self.title = ::std::option::Option::Some(input.into());
         940  +
        self
         941  +
    }
         942  +
    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
         943  +
    pub fn set_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         944  +
        self.title = input;
         945  +
        self
         946  +
    }
         947  +
    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
         948  +
    pub fn get_title(&self) -> &::std::option::Option<::std::string::String> {
         949  +
        &self.title
         950  +
    }
         951  +
    /// <p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of source.</p>
         952  +
    pub fn source(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         953  +
        self.source = ::std::option::Option::Some(input.into());
         954  +
        self
         955  +
    }
         956  +
    /// <p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of source.</p>
         957  +
    pub fn set_source(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         958  +
        self.source = input;
         959  +
        self
         960  +
    }
         961  +
    /// <p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of source.</p>
         962  +
    pub fn get_source(&self) -> &::std::option::Option<::std::string::String> {
         963  +
        &self.source
         964  +
    }
         965  +
    /// Adds a key-value pair to `operational_data`.
         966  +
    ///
         967  +
    /// To override the contents of this collection use [`set_operational_data`](Self::set_operational_data).
         968  +
    ///
         969  +
    /// <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>
         970  +
    /// <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>
         971  +
    /// </important>
         972  +
    /// <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>
         973  +
    /// <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>
         974  +
    pub fn operational_data(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::OpsItemDataValue) -> Self {
         975  +
        let mut hash_map = self.operational_data.unwrap_or_default();
         976  +
        hash_map.insert(k.into(), v);
         977  +
        self.operational_data = ::std::option::Option::Some(hash_map);
         978  +
        self
         979  +
    }
         980  +
    /// <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>
         981  +
    /// <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>
         982  +
    /// </important>
         983  +
    /// <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>
         984  +
    /// <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>
         985  +
    pub fn set_operational_data(
         986  +
        mut self,
         987  +
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::OpsItemDataValue>>,
         988  +
    ) -> Self {
         989  +
        self.operational_data = input;
         990  +
        self
         991  +
    }
         992  +
    /// <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>
         993  +
    /// <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>
         994  +
    /// </important>
         995  +
    /// <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>
         996  +
    /// <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>
         997  +
    pub fn get_operational_data(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::OpsItemDataValue>> {
         998  +
        &self.operational_data
         999  +
    }
        1000  +
    /// <p>An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, Security.</p>
        1001  +
    pub fn category(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1002  +
        self.category = ::std::option::Option::Some(input.into());
        1003  +
        self
        1004  +
    }
        1005  +
    /// <p>An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, Security.</p>
        1006  +
    pub fn set_category(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1007  +
        self.category = input;
        1008  +
        self
        1009  +
    }
        1010  +
    /// <p>An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, Security.</p>
        1011  +
    pub fn get_category(&self) -> &::std::option::Option<::std::string::String> {
        1012  +
        &self.category
        1013  +
    }
        1014  +
    /// <p>The severity of the OpsItem. Severity options range from 1 to 4.</p>
        1015  +
    pub fn severity(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1016  +
        self.severity = ::std::option::Option::Some(input.into());
        1017  +
        self
        1018  +
    }
        1019  +
    /// <p>The severity of the OpsItem. Severity options range from 1 to 4.</p>
        1020  +
    pub fn set_severity(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1021  +
        self.severity = input;
        1022  +
        self
        1023  +
    }
        1024  +
    /// <p>The severity of the OpsItem. Severity options range from 1 to 4.</p>
        1025  +
    pub fn get_severity(&self) -> &::std::option::Option<::std::string::String> {
        1026  +
        &self.severity
        1027  +
    }
        1028  +
    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
        1029  +
    pub fn actual_start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        1030  +
        self.actual_start_time = ::std::option::Option::Some(input);
        1031  +
        self
        1032  +
    }
        1033  +
    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
        1034  +
    pub fn set_actual_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        1035  +
        self.actual_start_time = input;
        1036  +
        self
        1037  +
    }
        1038  +
    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
        1039  +
    pub fn get_actual_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        1040  +
        &self.actual_start_time
        1041  +
    }
        1042  +
    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
        1043  +
    pub fn actual_end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        1044  +
        self.actual_end_time = ::std::option::Option::Some(input);
        1045  +
        self
        1046  +
    }
        1047  +
    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
        1048  +
    pub fn set_actual_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        1049  +
        self.actual_end_time = input;
        1050  +
        self
        1051  +
    }
        1052  +
    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
        1053  +
    pub fn get_actual_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        1054  +
        &self.actual_end_time
        1055  +
    }
        1056  +
    /// <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>
        1057  +
    pub fn planned_start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        1058  +
        self.planned_start_time = ::std::option::Option::Some(input);
        1059  +
        self
        1060  +
    }
        1061  +
    /// <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>
        1062  +
    pub fn set_planned_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        1063  +
        self.planned_start_time = input;
        1064  +
        self
        1065  +
    }
        1066  +
    /// <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>
        1067  +
    pub fn get_planned_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        1068  +
        &self.planned_start_time
        1069  +
    }
        1070  +
    /// <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>
        1071  +
    pub fn planned_end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        1072  +
        self.planned_end_time = ::std::option::Option::Some(input);
        1073  +
        self
        1074  +
    }
        1075  +
    /// <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>
        1076  +
    pub fn set_planned_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        1077  +
        self.planned_end_time = input;
        1078  +
        self
        1079  +
    }
        1080  +
    /// <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>
        1081  +
    pub fn get_planned_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        1082  +
        &self.planned_end_time
        1083  +
    }
        1084  +
    /// <p>The OpsItem Amazon Resource Name (ARN).</p>
        1085  +
    pub fn ops_item_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1086  +
        self.ops_item_arn = ::std::option::Option::Some(input.into());
        1087  +
        self
        1088  +
    }
        1089  +
    /// <p>The OpsItem Amazon Resource Name (ARN).</p>
        1090  +
    pub fn set_ops_item_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1091  +
        self.ops_item_arn = input;
        1092  +
        self
        1093  +
    }
        1094  +
    /// <p>The OpsItem Amazon Resource Name (ARN).</p>
        1095  +
    pub fn get_ops_item_arn(&self) -> &::std::option::Option<::std::string::String> {
        1096  +
        &self.ops_item_arn
        1097  +
    }
        1098  +
    /// Consumes the builder and constructs a [`OpsItem`](crate::types::OpsItem).
        1099  +
    pub fn build(self) -> crate::types::OpsItem {
        1100  +
        crate::types::OpsItem {
        1101  +
            created_by: self.created_by,
        1102  +
            ops_item_type: self.ops_item_type,
        1103  +
            created_time: self.created_time,
        1104  +
            description: self.description,
        1105  +
            last_modified_by: self.last_modified_by,
        1106  +
            last_modified_time: self.last_modified_time,
        1107  +
            notifications: self.notifications,
        1108  +
            priority: self.priority,
        1109  +
            related_ops_items: self.related_ops_items,
        1110  +
            status: self.status,
        1111  +
            ops_item_id: self.ops_item_id,
        1112  +
            version: self.version,
        1113  +
            title: self.title,
        1114  +
            source: self.source,
        1115  +
            operational_data: self.operational_data,
        1116  +
            category: self.category,
        1117  +
            severity: self.severity,
        1118  +
            actual_start_time: self.actual_start_time,
        1119  +
            actual_end_time: self.actual_end_time,
        1120  +
            planned_start_time: self.planned_start_time,
        1121  +
            planned_end_time: self.planned_end_time,
        1122  +
            ops_item_arn: self.ops_item_arn,
        1123  +
        }
        1124  +
    }
        1125  +
}