AWS SDK

AWS SDK

rev. 18b1dd205ff4335251e6dd0ecb88193de1b1cede (ignoring whitespace)

Files changed:

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

@@ -0,1 +0,355 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>Defines a filter used in <code>DescribeInstancePatchStatesForPatchGroup</code> to scope down the information returned by the API.</p>
           4  +
/// <p><b>Example</b>: To filter for all managed nodes in a patch group having more than three patches with a <code>FailedCount</code> status, use the following for the filter:</p>
           5  +
/// <ul>
           6  +
/// <li>
           7  +
/// <p>Value for <code>Key</code>: <code>FailedCount</code></p></li>
           8  +
/// <li>
           9  +
/// <p>Value for <code>Type</code>: <code>GreaterThan</code></p></li>
          10  +
/// <li>
          11  +
/// <p>Value for <code>Values</code>: <code>3</code></p></li>
          12  +
/// </ul>
          13  +
#[non_exhaustive]
          14  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          15  +
pub struct InstancePatchStateFilter {
          16  +
    /// <p>The key for the filter. Supported values include the following:</p>
          17  +
    /// <ul>
          18  +
    /// <li>
          19  +
    /// <p><code>InstalledCount</code></p></li>
          20  +
    /// <li>
          21  +
    /// <p><code>InstalledOtherCount</code></p></li>
          22  +
    /// <li>
          23  +
    /// <p><code>InstalledPendingRebootCount</code></p></li>
          24  +
    /// <li>
          25  +
    /// <p><code>InstalledRejectedCount</code></p></li>
          26  +
    /// <li>
          27  +
    /// <p><code>MissingCount</code></p></li>
          28  +
    /// <li>
          29  +
    /// <p><code>FailedCount</code></p></li>
          30  +
    /// <li>
          31  +
    /// <p><code>UnreportedNotApplicableCount</code></p></li>
          32  +
    /// <li>
          33  +
    /// <p><code>NotApplicableCount</code></p></li>
          34  +
    /// </ul>
          35  +
    pub key: ::std::string::String,
          36  +
    /// <p>The value for the filter. Must be an integer greater than or equal to 0.</p>
          37  +
    pub values: ::std::vec::Vec<::std::string::String>,
          38  +
    /// <p>The type of comparison that should be performed for the value.</p>
          39  +
    pub r#type: crate::types::InstancePatchStateOperatorType,
          40  +
}
          41  +
impl InstancePatchStateFilter {
          42  +
    /// <p>The key for the filter. Supported values include the following:</p>
          43  +
    /// <ul>
          44  +
    /// <li>
          45  +
    /// <p><code>InstalledCount</code></p></li>
          46  +
    /// <li>
          47  +
    /// <p><code>InstalledOtherCount</code></p></li>
          48  +
    /// <li>
          49  +
    /// <p><code>InstalledPendingRebootCount</code></p></li>
          50  +
    /// <li>
          51  +
    /// <p><code>InstalledRejectedCount</code></p></li>
          52  +
    /// <li>
          53  +
    /// <p><code>MissingCount</code></p></li>
          54  +
    /// <li>
          55  +
    /// <p><code>FailedCount</code></p></li>
          56  +
    /// <li>
          57  +
    /// <p><code>UnreportedNotApplicableCount</code></p></li>
          58  +
    /// <li>
          59  +
    /// <p><code>NotApplicableCount</code></p></li>
          60  +
    /// </ul>
          61  +
    pub fn key(&self) -> &str {
          62  +
        use std::ops::Deref;
          63  +
        self.key.deref()
          64  +
    }
          65  +
    /// <p>The value for the filter. Must be an integer greater than or equal to 0.</p>
          66  +
    pub fn values(&self) -> &[::std::string::String] {
          67  +
        use std::ops::Deref;
          68  +
        self.values.deref()
          69  +
    }
          70  +
    /// <p>The type of comparison that should be performed for the value.</p>
          71  +
    pub fn r#type(&self) -> &crate::types::InstancePatchStateOperatorType {
          72  +
        &self.r#type
          73  +
    }
          74  +
}
          75  +
static INSTANCEPATCHSTATEFILTER_MEMBER_KEY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          76  +
    ::aws_smithy_schema::ShapeId::from_parts(
          77  +
        "com.amazonaws.ssm#InstancePatchStateFilter$Key",
          78  +
        "com.amazonaws.ssm",
          79  +
        "InstancePatchStateFilter",
          80  +
    ),
          81  +
    ::aws_smithy_schema::ShapeType::String,
          82  +
    "Key",
          83  +
    0,
          84  +
);
          85  +
static INSTANCEPATCHSTATEFILTER_MEMBER_VALUES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          86  +
    ::aws_smithy_schema::ShapeId::from_parts(
          87  +
        "com.amazonaws.ssm#InstancePatchStateFilterValues$member",
          88  +
        "com.amazonaws.ssm",
          89  +
        "InstancePatchStateFilterValues",
          90  +
    ),
          91  +
    ::aws_smithy_schema::ShapeType::String,
          92  +
    "member",
          93  +
    0,
          94  +
);
          95  +
static INSTANCEPATCHSTATEFILTER_MEMBER_VALUES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          96  +
    ::aws_smithy_schema::ShapeId::from_parts(
          97  +
        "com.amazonaws.ssm#InstancePatchStateFilter$Values",
          98  +
        "com.amazonaws.ssm",
          99  +
        "InstancePatchStateFilter",
         100  +
    ),
         101  +
    ::aws_smithy_schema::ShapeType::List,
         102  +
    "Values",
         103  +
    1,
         104  +
)
         105  +
.with_list_member(&INSTANCEPATCHSTATEFILTER_MEMBER_VALUES_MEMBER);
         106  +
static INSTANCEPATCHSTATEFILTER_MEMBER_TYPE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         107  +
    ::aws_smithy_schema::ShapeId::from_parts(
         108  +
        "com.amazonaws.ssm#InstancePatchStateFilter$Type",
         109  +
        "com.amazonaws.ssm",
         110  +
        "InstancePatchStateFilter",
         111  +
    ),
         112  +
    ::aws_smithy_schema::ShapeType::String,
         113  +
    "Type",
         114  +
    2,
         115  +
);
         116  +
static INSTANCEPATCHSTATEFILTER_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         117  +
    ::aws_smithy_schema::ShapeId::from_parts(
         118  +
        "com.amazonaws.ssm#InstancePatchStateFilter",
         119  +
        "com.amazonaws.ssm",
         120  +
        "InstancePatchStateFilter",
         121  +
    ),
         122  +
    ::aws_smithy_schema::ShapeType::Structure,
         123  +
    &[
         124  +
        &INSTANCEPATCHSTATEFILTER_MEMBER_KEY,
         125  +
        &INSTANCEPATCHSTATEFILTER_MEMBER_VALUES,
         126  +
        &INSTANCEPATCHSTATEFILTER_MEMBER_TYPE,
         127  +
    ],
         128  +
);
         129  +
impl InstancePatchStateFilter {
         130  +
    /// The schema for this shape.
         131  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &INSTANCEPATCHSTATEFILTER_SCHEMA;
         132  +
}
         133  +
impl ::aws_smithy_schema::serde::SerializableStruct for InstancePatchStateFilter {
         134  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         135  +
    fn serialize_members(
         136  +
        &self,
         137  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         138  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         139  +
        {
         140  +
            let val = &self.key;
         141  +
            ser.write_string(&INSTANCEPATCHSTATEFILTER_MEMBER_KEY, val)?;
         142  +
        }
         143  +
        {
         144  +
            let val = &self.values;
         145  +
         146  +
            ser.write_list(
         147  +
                &INSTANCEPATCHSTATEFILTER_MEMBER_VALUES,
         148  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         149  +
                    for item in val {
         150  +
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
         151  +
                    }
         152  +
                    Ok(())
         153  +
                },
         154  +
            )?;
         155  +
        }
         156  +
        {
         157  +
            let val = &self.r#type;
         158  +
            ser.write_string(&INSTANCEPATCHSTATEFILTER_MEMBER_TYPE, val.as_str())?;
         159  +
        }
         160  +
        Ok(())
         161  +
    }
         162  +
}
         163  +
impl InstancePatchStateFilter {
         164  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         165  +
    pub fn deserialize(
         166  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         167  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         168  +
        #[allow(unused_variables, unused_mut)]
         169  +
        let mut builder = Self::builder();
         170  +
        #[allow(
         171  +
            unused_variables,
         172  +
            unreachable_code,
         173  +
            clippy::single_match,
         174  +
            clippy::match_single_binding,
         175  +
            clippy::diverging_sub_expression
         176  +
        )]
         177  +
        deserializer.read_struct(&INSTANCEPATCHSTATEFILTER_SCHEMA, &mut |member, deser| {
         178  +
            match member.member_index() {
         179  +
                Some(0) => {
         180  +
                    builder.key = Some(deser.read_string(member)?);
         181  +
                }
         182  +
                Some(1) => {
         183  +
                    builder.values = Some(deser.read_string_list(member)?);
         184  +
                }
         185  +
                Some(2) => {
         186  +
                    builder.r#type = Some(crate::types::InstancePatchStateOperatorType::from(deser.read_string(member)?.as_str()));
         187  +
                }
         188  +
                _ => {}
         189  +
            }
         190  +
            Ok(())
         191  +
        })?;
         192  +
        builder.key = builder.key.or(Some(String::new()));
         193  +
        builder.values = builder.values.or(Some(Vec::new()));
         194  +
        builder.build().map_err(|e| aws_smithy_schema::serde::SerdeError::custom(e.to_string()))
         195  +
    }
         196  +
}
         197  +
impl InstancePatchStateFilter {
         198  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         199  +
    pub fn deserialize_with_response(
         200  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         201  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         202  +
        _status: u16,
         203  +
        _body: &[u8],
         204  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         205  +
        Self::deserialize(deserializer)
         206  +
    }
         207  +
}
         208  +
impl InstancePatchStateFilter {
         209  +
    /// Creates a new builder-style object to manufacture [`InstancePatchStateFilter`](crate::types::InstancePatchStateFilter).
         210  +
    pub fn builder() -> crate::types::builders::InstancePatchStateFilterBuilder {
         211  +
        crate::types::builders::InstancePatchStateFilterBuilder::default()
         212  +
    }
         213  +
}
         214  +
         215  +
/// A builder for [`InstancePatchStateFilter`](crate::types::InstancePatchStateFilter).
         216  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         217  +
#[non_exhaustive]
         218  +
pub struct InstancePatchStateFilterBuilder {
         219  +
    pub(crate) key: ::std::option::Option<::std::string::String>,
         220  +
    pub(crate) values: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         221  +
    pub(crate) r#type: ::std::option::Option<crate::types::InstancePatchStateOperatorType>,
         222  +
}
         223  +
impl InstancePatchStateFilterBuilder {
         224  +
    /// <p>The key for the filter. Supported values include the following:</p>
         225  +
    /// <ul>
         226  +
    /// <li>
         227  +
    /// <p><code>InstalledCount</code></p></li>
         228  +
    /// <li>
         229  +
    /// <p><code>InstalledOtherCount</code></p></li>
         230  +
    /// <li>
         231  +
    /// <p><code>InstalledPendingRebootCount</code></p></li>
         232  +
    /// <li>
         233  +
    /// <p><code>InstalledRejectedCount</code></p></li>
         234  +
    /// <li>
         235  +
    /// <p><code>MissingCount</code></p></li>
         236  +
    /// <li>
         237  +
    /// <p><code>FailedCount</code></p></li>
         238  +
    /// <li>
         239  +
    /// <p><code>UnreportedNotApplicableCount</code></p></li>
         240  +
    /// <li>
         241  +
    /// <p><code>NotApplicableCount</code></p></li>
         242  +
    /// </ul>
         243  +
    /// This field is required.
         244  +
    pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         245  +
        self.key = ::std::option::Option::Some(input.into());
         246  +
        self
         247  +
    }
         248  +
    /// <p>The key for the filter. Supported values include the following:</p>
         249  +
    /// <ul>
         250  +
    /// <li>
         251  +
    /// <p><code>InstalledCount</code></p></li>
         252  +
    /// <li>
         253  +
    /// <p><code>InstalledOtherCount</code></p></li>
         254  +
    /// <li>
         255  +
    /// <p><code>InstalledPendingRebootCount</code></p></li>
         256  +
    /// <li>
         257  +
    /// <p><code>InstalledRejectedCount</code></p></li>
         258  +
    /// <li>
         259  +
    /// <p><code>MissingCount</code></p></li>
         260  +
    /// <li>
         261  +
    /// <p><code>FailedCount</code></p></li>
         262  +
    /// <li>
         263  +
    /// <p><code>UnreportedNotApplicableCount</code></p></li>
         264  +
    /// <li>
         265  +
    /// <p><code>NotApplicableCount</code></p></li>
         266  +
    /// </ul>
         267  +
    pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         268  +
        self.key = input;
         269  +
        self
         270  +
    }
         271  +
    /// <p>The key for the filter. Supported values include the following:</p>
         272  +
    /// <ul>
         273  +
    /// <li>
         274  +
    /// <p><code>InstalledCount</code></p></li>
         275  +
    /// <li>
         276  +
    /// <p><code>InstalledOtherCount</code></p></li>
         277  +
    /// <li>
         278  +
    /// <p><code>InstalledPendingRebootCount</code></p></li>
         279  +
    /// <li>
         280  +
    /// <p><code>InstalledRejectedCount</code></p></li>
         281  +
    /// <li>
         282  +
    /// <p><code>MissingCount</code></p></li>
         283  +
    /// <li>
         284  +
    /// <p><code>FailedCount</code></p></li>
         285  +
    /// <li>
         286  +
    /// <p><code>UnreportedNotApplicableCount</code></p></li>
         287  +
    /// <li>
         288  +
    /// <p><code>NotApplicableCount</code></p></li>
         289  +
    /// </ul>
         290  +
    pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
         291  +
        &self.key
         292  +
    }
         293  +
    /// Appends an item to `values`.
         294  +
    ///
         295  +
    /// To override the contents of this collection use [`set_values`](Self::set_values).
         296  +
    ///
         297  +
    /// <p>The value for the filter. Must be an integer greater than or equal to 0.</p>
         298  +
    pub fn values(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         299  +
        let mut v = self.values.unwrap_or_default();
         300  +
        v.push(input.into());
         301  +
        self.values = ::std::option::Option::Some(v);
         302  +
        self
         303  +
    }
         304  +
    /// <p>The value for the filter. Must be an integer greater than or equal to 0.</p>
         305  +
    pub fn set_values(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         306  +
        self.values = input;
         307  +
        self
         308  +
    }
         309  +
    /// <p>The value for the filter. Must be an integer greater than or equal to 0.</p>
         310  +
    pub fn get_values(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         311  +
        &self.values
         312  +
    }
         313  +
    /// <p>The type of comparison that should be performed for the value.</p>
         314  +
    /// This field is required.
         315  +
    pub fn r#type(mut self, input: crate::types::InstancePatchStateOperatorType) -> Self {
         316  +
        self.r#type = ::std::option::Option::Some(input);
         317  +
        self
         318  +
    }
         319  +
    /// <p>The type of comparison that should be performed for the value.</p>
         320  +
    pub fn set_type(mut self, input: ::std::option::Option<crate::types::InstancePatchStateOperatorType>) -> Self {
         321  +
        self.r#type = input;
         322  +
        self
         323  +
    }
         324  +
    /// <p>The type of comparison that should be performed for the value.</p>
         325  +
    pub fn get_type(&self) -> &::std::option::Option<crate::types::InstancePatchStateOperatorType> {
         326  +
        &self.r#type
         327  +
    }
         328  +
    /// Consumes the builder and constructs a [`InstancePatchStateFilter`](crate::types::InstancePatchStateFilter).
         329  +
    /// This method will fail if any of the following fields are not set:
         330  +
    /// - [`key`](crate::types::builders::InstancePatchStateFilterBuilder::key)
         331  +
    /// - [`values`](crate::types::builders::InstancePatchStateFilterBuilder::values)
         332  +
    /// - [`r#type`](crate::types::builders::InstancePatchStateFilterBuilder::type)
         333  +
    pub fn build(self) -> ::std::result::Result<crate::types::InstancePatchStateFilter, ::aws_smithy_types::error::operation::BuildError> {
         334  +
        ::std::result::Result::Ok(crate::types::InstancePatchStateFilter {
         335  +
            key: self.key.ok_or_else(|| {
         336  +
                ::aws_smithy_types::error::operation::BuildError::missing_field(
         337  +
                    "key",
         338  +
                    "key was not specified but it is required when building InstancePatchStateFilter",
         339  +
                )
         340  +
            })?,
         341  +
            values: self.values.ok_or_else(|| {
         342  +
                ::aws_smithy_types::error::operation::BuildError::missing_field(
         343  +
                    "values",
         344  +
                    "values was not specified but it is required when building InstancePatchStateFilter",
         345  +
                )
         346  +
            })?,
         347  +
            r#type: self.r#type.ok_or_else(|| {
         348  +
                ::aws_smithy_types::error::operation::BuildError::missing_field(
         349  +
                    "r#type",
         350  +
                    "r#type was not specified but it is required when building InstancePatchStateFilter",
         351  +
                )
         352  +
            })?,
         353  +
        })
         354  +
    }
         355  +
}

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

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

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

@@ -0,1 +0,1288 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>An object containing various properties of a managed node.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
           6  +
pub struct InstanceProperty {
           7  +
    /// <p>The value of the EC2 <code>Name</code> tag associated with the node. If a <code>Name</code> tag hasn't been applied to the node, this value is blank.</p>
           8  +
    pub name: ::std::option::Option<::std::string::String>,
           9  +
    /// <p>The ID of the managed node.</p>
          10  +
    pub instance_id: ::std::option::Option<::std::string::String>,
          11  +
    /// <p>The instance type of the managed node. For example, t3.large.</p>
          12  +
    pub instance_type: ::std::option::Option<::std::string::String>,
          13  +
    /// <p>The instance profile attached to the node. If an instance profile isn't attached to the node, this value is blank.</p>
          14  +
    pub instance_role: ::std::option::Option<::std::string::String>,
          15  +
    /// <p>The name of the key pair associated with the node. If a key pair isnt't associated with the node, this value is blank.</p>
          16  +
    pub key_name: ::std::option::Option<::std::string::String>,
          17  +
    /// <p>The current state of the node.</p>
          18  +
    pub instance_state: ::std::option::Option<::std::string::String>,
          19  +
    /// <p>The CPU architecture of the node. For example, <code>x86_64</code>.</p>
          20  +
    pub architecture: ::std::option::Option<::std::string::String>,
          21  +
    /// <p>The public IPv4 address assigned to the node. If a public IPv4 address isn't assigned to the node, this value is blank.</p>
          22  +
    pub ip_address: ::std::option::Option<::std::string::String>,
          23  +
    /// <p>The timestamp for when the node was launched.</p>
          24  +
    pub launch_time: ::std::option::Option<::aws_smithy_types::DateTime>,
          25  +
    /// <p>Connection status of the SSM Agent on the managed node.</p>
          26  +
    pub ping_status: ::std::option::Option<crate::types::PingStatus>,
          27  +
    /// <p>The date and time when the SSM Agent last pinged the Systems Manager service.</p>
          28  +
    pub last_ping_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
          29  +
    /// <p>The version of SSM Agent running on your managed node.</p>
          30  +
    pub agent_version: ::std::option::Option<::std::string::String>,
          31  +
    /// <p>The operating system platform type of the managed node. For example, Windows Server or Amazon Linux 2.</p>
          32  +
    pub platform_type: ::std::option::Option<crate::types::PlatformType>,
          33  +
    /// <p>The name of the operating system platform running on your managed node.</p>
          34  +
    pub platform_name: ::std::option::Option<::std::string::String>,
          35  +
    /// <p>The version of the OS platform running on your managed node.</p>
          36  +
    pub platform_version: ::std::option::Option<::std::string::String>,
          37  +
    /// <p>The activation ID created by Systems Manager when the server or virtual machine (VM) was registered</p>
          38  +
    pub activation_id: ::std::option::Option<::std::string::String>,
          39  +
    /// <p>The IAM role used in the hybrid activation to register the node with Systems Manager.</p>
          40  +
    pub iam_role: ::std::option::Option<::std::string::String>,
          41  +
    /// <p>The date the node was registered with Systems Manager.</p>
          42  +
    pub registration_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          43  +
    /// <p>The type of managed node.</p>
          44  +
    pub resource_type: ::std::option::Option<::std::string::String>,
          45  +
    /// <p>The fully qualified host name of the managed node.</p>
          46  +
    pub computer_name: ::std::option::Option<::std::string::String>,
          47  +
    /// <p>The status of the State Manager association applied to the managed node.</p>
          48  +
    pub association_status: ::std::option::Option<::std::string::String>,
          49  +
    /// <p>The date the association was last run.</p>
          50  +
    pub last_association_execution_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          51  +
    /// <p>The last date the association was successfully run.</p>
          52  +
    pub last_successful_association_execution_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          53  +
    /// <p>Status information about the aggregated associations.</p>
          54  +
    pub association_overview: ::std::option::Option<crate::types::InstanceAggregatedAssociationOverview>,
          55  +
    /// <p>The ID of the source resource.</p>
          56  +
    pub source_id: ::std::option::Option<::std::string::String>,
          57  +
    /// <p>The type of the source resource. Valid values: <code>AWS::EC2::Instance</code> | <code>AWS::SSM::ManagedInstance</code> | <code>AWS::IoT::Thing</code> | <code>Microsoft.Compute/virtualMachines</code>.</p>
          58  +
    pub source_type: ::std::option::Option<crate::types::SourceType>,
          59  +
    /// <p>The location of the source resource in the third-party cloud environment.</p>
          60  +
    pub source_location: ::std::option::Option<::std::string::String>,
          61  +
    /// <p>The Availability Zone where the managed node is located.</p>
          62  +
    pub availability_zone: ::std::option::Option<::std::string::String>,
          63  +
}
          64  +
impl InstanceProperty {
          65  +
    /// <p>The value of the EC2 <code>Name</code> tag associated with the node. If a <code>Name</code> tag hasn't been applied to the node, this value is blank.</p>
          66  +
    pub fn name(&self) -> ::std::option::Option<&str> {
          67  +
        self.name.as_deref()
          68  +
    }
          69  +
    /// <p>The ID of the managed node.</p>
          70  +
    pub fn instance_id(&self) -> ::std::option::Option<&str> {
          71  +
        self.instance_id.as_deref()
          72  +
    }
          73  +
    /// <p>The instance type of the managed node. For example, t3.large.</p>
          74  +
    pub fn instance_type(&self) -> ::std::option::Option<&str> {
          75  +
        self.instance_type.as_deref()
          76  +
    }
          77  +
    /// <p>The instance profile attached to the node. If an instance profile isn't attached to the node, this value is blank.</p>
          78  +
    pub fn instance_role(&self) -> ::std::option::Option<&str> {
          79  +
        self.instance_role.as_deref()
          80  +
    }
          81  +
    /// <p>The name of the key pair associated with the node. If a key pair isnt't associated with the node, this value is blank.</p>
          82  +
    pub fn key_name(&self) -> ::std::option::Option<&str> {
          83  +
        self.key_name.as_deref()
          84  +
    }
          85  +
    /// <p>The current state of the node.</p>
          86  +
    pub fn instance_state(&self) -> ::std::option::Option<&str> {
          87  +
        self.instance_state.as_deref()
          88  +
    }
          89  +
    /// <p>The CPU architecture of the node. For example, <code>x86_64</code>.</p>
          90  +
    pub fn architecture(&self) -> ::std::option::Option<&str> {
          91  +
        self.architecture.as_deref()
          92  +
    }
          93  +
    /// <p>The public IPv4 address assigned to the node. If a public IPv4 address isn't assigned to the node, this value is blank.</p>
          94  +
    pub fn ip_address(&self) -> ::std::option::Option<&str> {
          95  +
        self.ip_address.as_deref()
          96  +
    }
          97  +
    /// <p>The timestamp for when the node was launched.</p>
          98  +
    pub fn launch_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          99  +
        self.launch_time.as_ref()
         100  +
    }
         101  +
    /// <p>Connection status of the SSM Agent on the managed node.</p>
         102  +
    pub fn ping_status(&self) -> ::std::option::Option<&crate::types::PingStatus> {
         103  +
        self.ping_status.as_ref()
         104  +
    }
         105  +
    /// <p>The date and time when the SSM Agent last pinged the Systems Manager service.</p>
         106  +
    pub fn last_ping_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         107  +
        self.last_ping_date_time.as_ref()
         108  +
    }
         109  +
    /// <p>The version of SSM Agent running on your managed node.</p>
         110  +
    pub fn agent_version(&self) -> ::std::option::Option<&str> {
         111  +
        self.agent_version.as_deref()
         112  +
    }
         113  +
    /// <p>The operating system platform type of the managed node. For example, Windows Server or Amazon Linux 2.</p>
         114  +
    pub fn platform_type(&self) -> ::std::option::Option<&crate::types::PlatformType> {
         115  +
        self.platform_type.as_ref()
         116  +
    }
         117  +
    /// <p>The name of the operating system platform running on your managed node.</p>
         118  +
    pub fn platform_name(&self) -> ::std::option::Option<&str> {
         119  +
        self.platform_name.as_deref()
         120  +
    }
         121  +
    /// <p>The version of the OS platform running on your managed node.</p>
         122  +
    pub fn platform_version(&self) -> ::std::option::Option<&str> {
         123  +
        self.platform_version.as_deref()
         124  +
    }
         125  +
    /// <p>The activation ID created by Systems Manager when the server or virtual machine (VM) was registered</p>
         126  +
    pub fn activation_id(&self) -> ::std::option::Option<&str> {
         127  +
        self.activation_id.as_deref()
         128  +
    }
         129  +
    /// <p>The IAM role used in the hybrid activation to register the node with Systems Manager.</p>
         130  +
    pub fn iam_role(&self) -> ::std::option::Option<&str> {
         131  +
        self.iam_role.as_deref()
         132  +
    }
         133  +
    /// <p>The date the node was registered with Systems Manager.</p>
         134  +
    pub fn registration_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         135  +
        self.registration_date.as_ref()
         136  +
    }
         137  +
    /// <p>The type of managed node.</p>
         138  +
    pub fn resource_type(&self) -> ::std::option::Option<&str> {
         139  +
        self.resource_type.as_deref()
         140  +
    }
         141  +
    /// <p>The fully qualified host name of the managed node.</p>
         142  +
    pub fn computer_name(&self) -> ::std::option::Option<&str> {
         143  +
        self.computer_name.as_deref()
         144  +
    }
         145  +
    /// <p>The status of the State Manager association applied to the managed node.</p>
         146  +
    pub fn association_status(&self) -> ::std::option::Option<&str> {
         147  +
        self.association_status.as_deref()
         148  +
    }
         149  +
    /// <p>The date the association was last run.</p>
         150  +
    pub fn last_association_execution_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         151  +
        self.last_association_execution_date.as_ref()
         152  +
    }
         153  +
    /// <p>The last date the association was successfully run.</p>
         154  +
    pub fn last_successful_association_execution_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         155  +
        self.last_successful_association_execution_date.as_ref()
         156  +
    }
         157  +
    /// <p>Status information about the aggregated associations.</p>
         158  +
    pub fn association_overview(&self) -> ::std::option::Option<&crate::types::InstanceAggregatedAssociationOverview> {
         159  +
        self.association_overview.as_ref()
         160  +
    }
         161  +
    /// <p>The ID of the source resource.</p>
         162  +
    pub fn source_id(&self) -> ::std::option::Option<&str> {
         163  +
        self.source_id.as_deref()
         164  +
    }
         165  +
    /// <p>The type of the source resource. Valid values: <code>AWS::EC2::Instance</code> | <code>AWS::SSM::ManagedInstance</code> | <code>AWS::IoT::Thing</code> | <code>Microsoft.Compute/virtualMachines</code>.</p>
         166  +
    pub fn source_type(&self) -> ::std::option::Option<&crate::types::SourceType> {
         167  +
        self.source_type.as_ref()
         168  +
    }
         169  +
    /// <p>The location of the source resource in the third-party cloud environment.</p>
         170  +
    pub fn source_location(&self) -> ::std::option::Option<&str> {
         171  +
        self.source_location.as_deref()
         172  +
    }
         173  +
    /// <p>The Availability Zone where the managed node is located.</p>
         174  +
    pub fn availability_zone(&self) -> ::std::option::Option<&str> {
         175  +
        self.availability_zone.as_deref()
         176  +
    }
         177  +
}
         178  +
impl ::std::fmt::Debug for InstanceProperty {
         179  +
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         180  +
        let mut formatter = f.debug_struct("InstanceProperty");
         181  +
        formatter.field("name", &self.name);
         182  +
        formatter.field("instance_id", &self.instance_id);
         183  +
        formatter.field("instance_type", &self.instance_type);
         184  +
        formatter.field("instance_role", &self.instance_role);
         185  +
        formatter.field("key_name", &self.key_name);
         186  +
        formatter.field("instance_state", &self.instance_state);
         187  +
        formatter.field("architecture", &self.architecture);
         188  +
        formatter.field("ip_address", &"*** Sensitive Data Redacted ***");
         189  +
        formatter.field("launch_time", &self.launch_time);
         190  +
        formatter.field("ping_status", &self.ping_status);
         191  +
        formatter.field("last_ping_date_time", &self.last_ping_date_time);
         192  +
        formatter.field("agent_version", &self.agent_version);
         193  +
        formatter.field("platform_type", &self.platform_type);
         194  +
        formatter.field("platform_name", &self.platform_name);
         195  +
        formatter.field("platform_version", &self.platform_version);
         196  +
        formatter.field("activation_id", &self.activation_id);
         197  +
        formatter.field("iam_role", &self.iam_role);
         198  +
        formatter.field("registration_date", &self.registration_date);
         199  +
        formatter.field("resource_type", &self.resource_type);
         200  +
        formatter.field("computer_name", &self.computer_name);
         201  +
        formatter.field("association_status", &self.association_status);
         202  +
        formatter.field("last_association_execution_date", &self.last_association_execution_date);
         203  +
        formatter.field(
         204  +
            "last_successful_association_execution_date",
         205  +
            &self.last_successful_association_execution_date,
         206  +
        );
         207  +
        formatter.field("association_overview", &self.association_overview);
         208  +
        formatter.field("source_id", &self.source_id);
         209  +
        formatter.field("source_type", &self.source_type);
         210  +
        formatter.field("source_location", &self.source_location);
         211  +
        formatter.field("availability_zone", &self.availability_zone);
         212  +
        formatter.finish()
         213  +
    }
         214  +
}
         215  +
static INSTANCEPROPERTY_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         216  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$Name", "com.amazonaws.ssm", "InstanceProperty"),
         217  +
    ::aws_smithy_schema::ShapeType::String,
         218  +
    "Name",
         219  +
    0,
         220  +
);
         221  +
static INSTANCEPROPERTY_MEMBER_INSTANCE_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         222  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$InstanceId", "com.amazonaws.ssm", "InstanceProperty"),
         223  +
    ::aws_smithy_schema::ShapeType::String,
         224  +
    "InstanceId",
         225  +
    1,
         226  +
);
         227  +
static INSTANCEPROPERTY_MEMBER_INSTANCE_TYPE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         228  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$InstanceType", "com.amazonaws.ssm", "InstanceProperty"),
         229  +
    ::aws_smithy_schema::ShapeType::String,
         230  +
    "InstanceType",
         231  +
    2,
         232  +
);
         233  +
static INSTANCEPROPERTY_MEMBER_INSTANCE_ROLE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         234  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$InstanceRole", "com.amazonaws.ssm", "InstanceProperty"),
         235  +
    ::aws_smithy_schema::ShapeType::String,
         236  +
    "InstanceRole",
         237  +
    3,
         238  +
);
         239  +
static INSTANCEPROPERTY_MEMBER_KEY_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         240  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$KeyName", "com.amazonaws.ssm", "InstanceProperty"),
         241  +
    ::aws_smithy_schema::ShapeType::String,
         242  +
    "KeyName",
         243  +
    4,
         244  +
);
         245  +
static INSTANCEPROPERTY_MEMBER_INSTANCE_STATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         246  +
    ::aws_smithy_schema::ShapeId::from_parts(
         247  +
        "com.amazonaws.ssm#InstanceProperty$InstanceState",
         248  +
        "com.amazonaws.ssm",
         249  +
        "InstanceProperty",
         250  +
    ),
         251  +
    ::aws_smithy_schema::ShapeType::String,
         252  +
    "InstanceState",
         253  +
    5,
         254  +
);
         255  +
static INSTANCEPROPERTY_MEMBER_ARCHITECTURE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         256  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$Architecture", "com.amazonaws.ssm", "InstanceProperty"),
         257  +
    ::aws_smithy_schema::ShapeType::String,
         258  +
    "Architecture",
         259  +
    6,
         260  +
);
         261  +
static INSTANCEPROPERTY_MEMBER_IP_ADDRESS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         262  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$IPAddress", "com.amazonaws.ssm", "InstanceProperty"),
         263  +
    ::aws_smithy_schema::ShapeType::String,
         264  +
    "IPAddress",
         265  +
    7,
         266  +
);
         267  +
static INSTANCEPROPERTY_MEMBER_LAUNCH_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         268  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$LaunchTime", "com.amazonaws.ssm", "InstanceProperty"),
         269  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         270  +
    "LaunchTime",
         271  +
    8,
         272  +
);
         273  +
static INSTANCEPROPERTY_MEMBER_PING_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         274  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$PingStatus", "com.amazonaws.ssm", "InstanceProperty"),
         275  +
    ::aws_smithy_schema::ShapeType::String,
         276  +
    "PingStatus",
         277  +
    9,
         278  +
);
         279  +
static INSTANCEPROPERTY_MEMBER_LAST_PING_DATE_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         280  +
    ::aws_smithy_schema::ShapeId::from_parts(
         281  +
        "com.amazonaws.ssm#InstanceProperty$LastPingDateTime",
         282  +
        "com.amazonaws.ssm",
         283  +
        "InstanceProperty",
         284  +
    ),
         285  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         286  +
    "LastPingDateTime",
         287  +
    10,
         288  +
);
         289  +
static INSTANCEPROPERTY_MEMBER_AGENT_VERSION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         290  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$AgentVersion", "com.amazonaws.ssm", "InstanceProperty"),
         291  +
    ::aws_smithy_schema::ShapeType::String,
         292  +
    "AgentVersion",
         293  +
    11,
         294  +
);
         295  +
static INSTANCEPROPERTY_MEMBER_PLATFORM_TYPE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         296  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$PlatformType", "com.amazonaws.ssm", "InstanceProperty"),
         297  +
    ::aws_smithy_schema::ShapeType::String,
         298  +
    "PlatformType",
         299  +
    12,
         300  +
);
         301  +
static INSTANCEPROPERTY_MEMBER_PLATFORM_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         302  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$PlatformName", "com.amazonaws.ssm", "InstanceProperty"),
         303  +
    ::aws_smithy_schema::ShapeType::String,
         304  +
    "PlatformName",
         305  +
    13,
         306  +
);
         307  +
static INSTANCEPROPERTY_MEMBER_PLATFORM_VERSION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         308  +
    ::aws_smithy_schema::ShapeId::from_parts(
         309  +
        "com.amazonaws.ssm#InstanceProperty$PlatformVersion",
         310  +
        "com.amazonaws.ssm",
         311  +
        "InstanceProperty",
         312  +
    ),
         313  +
    ::aws_smithy_schema::ShapeType::String,
         314  +
    "PlatformVersion",
         315  +
    14,
         316  +
);
         317  +
static INSTANCEPROPERTY_MEMBER_ACTIVATION_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         318  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$ActivationId", "com.amazonaws.ssm", "InstanceProperty"),
         319  +
    ::aws_smithy_schema::ShapeType::String,
         320  +
    "ActivationId",
         321  +
    15,
         322  +
);
         323  +
static INSTANCEPROPERTY_MEMBER_IAM_ROLE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         324  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$IamRole", "com.amazonaws.ssm", "InstanceProperty"),
         325  +
    ::aws_smithy_schema::ShapeType::String,
         326  +
    "IamRole",
         327  +
    16,
         328  +
);
         329  +
static INSTANCEPROPERTY_MEMBER_REGISTRATION_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         330  +
    ::aws_smithy_schema::ShapeId::from_parts(
         331  +
        "com.amazonaws.ssm#InstanceProperty$RegistrationDate",
         332  +
        "com.amazonaws.ssm",
         333  +
        "InstanceProperty",
         334  +
    ),
         335  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         336  +
    "RegistrationDate",
         337  +
    17,
         338  +
);
         339  +
static INSTANCEPROPERTY_MEMBER_RESOURCE_TYPE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         340  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$ResourceType", "com.amazonaws.ssm", "InstanceProperty"),
         341  +
    ::aws_smithy_schema::ShapeType::String,
         342  +
    "ResourceType",
         343  +
    18,
         344  +
);
         345  +
static INSTANCEPROPERTY_MEMBER_COMPUTER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         346  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$ComputerName", "com.amazonaws.ssm", "InstanceProperty"),
         347  +
    ::aws_smithy_schema::ShapeType::String,
         348  +
    "ComputerName",
         349  +
    19,
         350  +
);
         351  +
static INSTANCEPROPERTY_MEMBER_ASSOCIATION_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         352  +
    ::aws_smithy_schema::ShapeId::from_parts(
         353  +
        "com.amazonaws.ssm#InstanceProperty$AssociationStatus",
         354  +
        "com.amazonaws.ssm",
         355  +
        "InstanceProperty",
         356  +
    ),
         357  +
    ::aws_smithy_schema::ShapeType::String,
         358  +
    "AssociationStatus",
         359  +
    20,
         360  +
);
         361  +
static INSTANCEPROPERTY_MEMBER_LAST_ASSOCIATION_EXECUTION_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         362  +
    ::aws_smithy_schema::ShapeId::from_parts(
         363  +
        "com.amazonaws.ssm#InstanceProperty$LastAssociationExecutionDate",
         364  +
        "com.amazonaws.ssm",
         365  +
        "InstanceProperty",
         366  +
    ),
         367  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         368  +
    "LastAssociationExecutionDate",
         369  +
    21,
         370  +
);
         371  +
static INSTANCEPROPERTY_MEMBER_LAST_SUCCESSFUL_ASSOCIATION_EXECUTION_DATE: ::aws_smithy_schema::Schema<'static> =
         372  +
    ::aws_smithy_schema::Schema::new_member(
         373  +
        ::aws_smithy_schema::ShapeId::from_parts(
         374  +
            "com.amazonaws.ssm#InstanceProperty$LastSuccessfulAssociationExecutionDate",
         375  +
            "com.amazonaws.ssm",
         376  +
            "InstanceProperty",
         377  +
        ),
         378  +
        ::aws_smithy_schema::ShapeType::Timestamp,
         379  +
        "LastSuccessfulAssociationExecutionDate",
         380  +
        22,
         381  +
    );
         382  +
static INSTANCEPROPERTY_MEMBER_ASSOCIATION_OVERVIEW: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         383  +
    ::aws_smithy_schema::ShapeId::from_parts(
         384  +
        "com.amazonaws.ssm#InstanceProperty$AssociationOverview",
         385  +
        "com.amazonaws.ssm",
         386  +
        "InstanceProperty",
         387  +
    ),
         388  +
    ::aws_smithy_schema::ShapeType::Structure,
         389  +
    "AssociationOverview",
         390  +
    23,
         391  +
);
         392  +
static INSTANCEPROPERTY_MEMBER_SOURCE_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         393  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$SourceId", "com.amazonaws.ssm", "InstanceProperty"),
         394  +
    ::aws_smithy_schema::ShapeType::String,
         395  +
    "SourceId",
         396  +
    24,
         397  +
);
         398  +
static INSTANCEPROPERTY_MEMBER_SOURCE_TYPE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         399  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty$SourceType", "com.amazonaws.ssm", "InstanceProperty"),
         400  +
    ::aws_smithy_schema::ShapeType::String,
         401  +
    "SourceType",
         402  +
    25,
         403  +
);
         404  +
static INSTANCEPROPERTY_MEMBER_SOURCE_LOCATION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         405  +
    ::aws_smithy_schema::ShapeId::from_parts(
         406  +
        "com.amazonaws.ssm#InstanceProperty$SourceLocation",
         407  +
        "com.amazonaws.ssm",
         408  +
        "InstanceProperty",
         409  +
    ),
         410  +
    ::aws_smithy_schema::ShapeType::String,
         411  +
    "SourceLocation",
         412  +
    26,
         413  +
);
         414  +
static INSTANCEPROPERTY_MEMBER_AVAILABILITY_ZONE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         415  +
    ::aws_smithy_schema::ShapeId::from_parts(
         416  +
        "com.amazonaws.ssm#InstanceProperty$AvailabilityZone",
         417  +
        "com.amazonaws.ssm",
         418  +
        "InstanceProperty",
         419  +
    ),
         420  +
    ::aws_smithy_schema::ShapeType::String,
         421  +
    "AvailabilityZone",
         422  +
    27,
         423  +
);
         424  +
static INSTANCEPROPERTY_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         425  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#InstanceProperty", "com.amazonaws.ssm", "InstanceProperty"),
         426  +
    ::aws_smithy_schema::ShapeType::Structure,
         427  +
    &[
         428  +
        &INSTANCEPROPERTY_MEMBER_NAME,
         429  +
        &INSTANCEPROPERTY_MEMBER_INSTANCE_ID,
         430  +
        &INSTANCEPROPERTY_MEMBER_INSTANCE_TYPE,
         431  +
        &INSTANCEPROPERTY_MEMBER_INSTANCE_ROLE,
         432  +
        &INSTANCEPROPERTY_MEMBER_KEY_NAME,
         433  +
        &INSTANCEPROPERTY_MEMBER_INSTANCE_STATE,
         434  +
        &INSTANCEPROPERTY_MEMBER_ARCHITECTURE,
         435  +
        &INSTANCEPROPERTY_MEMBER_IP_ADDRESS,
         436  +
        &INSTANCEPROPERTY_MEMBER_LAUNCH_TIME,
         437  +
        &INSTANCEPROPERTY_MEMBER_PING_STATUS,
         438  +
        &INSTANCEPROPERTY_MEMBER_LAST_PING_DATE_TIME,
         439  +
        &INSTANCEPROPERTY_MEMBER_AGENT_VERSION,
         440  +
        &INSTANCEPROPERTY_MEMBER_PLATFORM_TYPE,
         441  +
        &INSTANCEPROPERTY_MEMBER_PLATFORM_NAME,
         442  +
        &INSTANCEPROPERTY_MEMBER_PLATFORM_VERSION,
         443  +
        &INSTANCEPROPERTY_MEMBER_ACTIVATION_ID,
         444  +
        &INSTANCEPROPERTY_MEMBER_IAM_ROLE,
         445  +
        &INSTANCEPROPERTY_MEMBER_REGISTRATION_DATE,
         446  +
        &INSTANCEPROPERTY_MEMBER_RESOURCE_TYPE,
         447  +
        &INSTANCEPROPERTY_MEMBER_COMPUTER_NAME,
         448  +
        &INSTANCEPROPERTY_MEMBER_ASSOCIATION_STATUS,
         449  +
        &INSTANCEPROPERTY_MEMBER_LAST_ASSOCIATION_EXECUTION_DATE,
         450  +
        &INSTANCEPROPERTY_MEMBER_LAST_SUCCESSFUL_ASSOCIATION_EXECUTION_DATE,
         451  +
        &INSTANCEPROPERTY_MEMBER_ASSOCIATION_OVERVIEW,
         452  +
        &INSTANCEPROPERTY_MEMBER_SOURCE_ID,
         453  +
        &INSTANCEPROPERTY_MEMBER_SOURCE_TYPE,
         454  +
        &INSTANCEPROPERTY_MEMBER_SOURCE_LOCATION,
         455  +
        &INSTANCEPROPERTY_MEMBER_AVAILABILITY_ZONE,
         456  +
    ],
         457  +
);
         458  +
impl InstanceProperty {
         459  +
    /// The schema for this shape.
         460  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &INSTANCEPROPERTY_SCHEMA;
         461  +
}
         462  +
impl ::aws_smithy_schema::serde::SerializableStruct for InstanceProperty {
         463  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         464  +
    fn serialize_members(
         465  +
        &self,
         466  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         467  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         468  +
        if let Some(ref val) = self.name {
         469  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_NAME, val)?;
         470  +
        }
         471  +
        if let Some(ref val) = self.instance_id {
         472  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_INSTANCE_ID, val)?;
         473  +
        }
         474  +
        if let Some(ref val) = self.instance_type {
         475  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_INSTANCE_TYPE, val)?;
         476  +
        }
         477  +
        if let Some(ref val) = self.instance_role {
         478  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_INSTANCE_ROLE, val)?;
         479  +
        }
         480  +
        if let Some(ref val) = self.key_name {
         481  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_KEY_NAME, val)?;
         482  +
        }
         483  +
        if let Some(ref val) = self.instance_state {
         484  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_INSTANCE_STATE, val)?;
         485  +
        }
         486  +
        if let Some(ref val) = self.architecture {
         487  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_ARCHITECTURE, val)?;
         488  +
        }
         489  +
        if let Some(ref val) = self.ip_address {
         490  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_IP_ADDRESS, val)?;
         491  +
        }
         492  +
        if let Some(ref val) = self.launch_time {
         493  +
            ser.write_timestamp(&INSTANCEPROPERTY_MEMBER_LAUNCH_TIME, val)?;
         494  +
        }
         495  +
        if let Some(ref val) = self.ping_status {
         496  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_PING_STATUS, val.as_str())?;
         497  +
        }
         498  +
        if let Some(ref val) = self.last_ping_date_time {
         499  +
            ser.write_timestamp(&INSTANCEPROPERTY_MEMBER_LAST_PING_DATE_TIME, val)?;
         500  +
        }
         501  +
        if let Some(ref val) = self.agent_version {
         502  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_AGENT_VERSION, val)?;
         503  +
        }
         504  +
        if let Some(ref val) = self.platform_type {
         505  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_PLATFORM_TYPE, val.as_str())?;
         506  +
        }
         507  +
        if let Some(ref val) = self.platform_name {
         508  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_PLATFORM_NAME, val)?;
         509  +
        }
         510  +
        if let Some(ref val) = self.platform_version {
         511  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_PLATFORM_VERSION, val)?;
         512  +
        }
         513  +
        if let Some(ref val) = self.activation_id {
         514  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_ACTIVATION_ID, val)?;
         515  +
        }
         516  +
        if let Some(ref val) = self.iam_role {
         517  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_IAM_ROLE, val)?;
         518  +
        }
         519  +
        if let Some(ref val) = self.registration_date {
         520  +
            ser.write_timestamp(&INSTANCEPROPERTY_MEMBER_REGISTRATION_DATE, val)?;
         521  +
        }
         522  +
        if let Some(ref val) = self.resource_type {
         523  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_RESOURCE_TYPE, val)?;
         524  +
        }
         525  +
        if let Some(ref val) = self.computer_name {
         526  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_COMPUTER_NAME, val)?;
         527  +
        }
         528  +
        if let Some(ref val) = self.association_status {
         529  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_ASSOCIATION_STATUS, val)?;
         530  +
        }
         531  +
        if let Some(ref val) = self.last_association_execution_date {
         532  +
            ser.write_timestamp(&INSTANCEPROPERTY_MEMBER_LAST_ASSOCIATION_EXECUTION_DATE, val)?;
         533  +
        }
         534  +
        if let Some(ref val) = self.last_successful_association_execution_date {
         535  +
            ser.write_timestamp(&INSTANCEPROPERTY_MEMBER_LAST_SUCCESSFUL_ASSOCIATION_EXECUTION_DATE, val)?;
         536  +
        }
         537  +
        if let Some(ref val) = self.association_overview {
         538  +
            ser.write_struct(&INSTANCEPROPERTY_MEMBER_ASSOCIATION_OVERVIEW, val)?;
         539  +
        }
         540  +
        if let Some(ref val) = self.source_id {
         541  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_SOURCE_ID, val)?;
         542  +
        }
         543  +
        if let Some(ref val) = self.source_type {
         544  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_SOURCE_TYPE, val.as_str())?;
         545  +
        }
         546  +
        if let Some(ref val) = self.source_location {
         547  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_SOURCE_LOCATION, val)?;
         548  +
        }
         549  +
        if let Some(ref val) = self.availability_zone {
         550  +
            ser.write_string(&INSTANCEPROPERTY_MEMBER_AVAILABILITY_ZONE, val)?;
         551  +
        }
         552  +
        Ok(())
         553  +
    }
         554  +
}
         555  +
impl InstanceProperty {
         556  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         557  +
    pub fn deserialize(
         558  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         559  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         560  +
        #[allow(unused_variables, unused_mut)]
         561  +
        let mut builder = Self::builder();
         562  +
        #[allow(
         563  +
            unused_variables,
         564  +
            unreachable_code,
         565  +
            clippy::single_match,
         566  +
            clippy::match_single_binding,
         567  +
            clippy::diverging_sub_expression
         568  +
        )]
         569  +
        deserializer.read_struct(&INSTANCEPROPERTY_SCHEMA, &mut |member, deser| {
         570  +
            match member.member_index() {
         571  +
                Some(0) => {
         572  +
                    if deser.is_null() {
         573  +
                        deser.read_null()?;
         574  +
                    } else {
         575  +
                        builder.name = Some(deser.read_string(member)?);
         576  +
                    }
         577  +
                }
         578  +
                Some(1) => {
         579  +
                    if deser.is_null() {
         580  +
                        deser.read_null()?;
         581  +
                    } else {
         582  +
                        builder.instance_id = Some(deser.read_string(member)?);
         583  +
                    }
         584  +
                }
         585  +
                Some(2) => {
         586  +
                    if deser.is_null() {
         587  +
                        deser.read_null()?;
         588  +
                    } else {
         589  +
                        builder.instance_type = Some(deser.read_string(member)?);
         590  +
                    }
         591  +
                }
         592  +
                Some(3) => {
         593  +
                    if deser.is_null() {
         594  +
                        deser.read_null()?;
         595  +
                    } else {
         596  +
                        builder.instance_role = Some(deser.read_string(member)?);
         597  +
                    }
         598  +
                }
         599  +
                Some(4) => {
         600  +
                    if deser.is_null() {
         601  +
                        deser.read_null()?;
         602  +
                    } else {
         603  +
                        builder.key_name = Some(deser.read_string(member)?);
         604  +
                    }
         605  +
                }
         606  +
                Some(5) => {
         607  +
                    if deser.is_null() {
         608  +
                        deser.read_null()?;
         609  +
                    } else {
         610  +
                        builder.instance_state = Some(deser.read_string(member)?);
         611  +
                    }
         612  +
                }
         613  +
                Some(6) => {
         614  +
                    if deser.is_null() {
         615  +
                        deser.read_null()?;
         616  +
                    } else {
         617  +
                        builder.architecture = Some(deser.read_string(member)?);
         618  +
                    }
         619  +
                }
         620  +
                Some(7) => {
         621  +
                    if deser.is_null() {
         622  +
                        deser.read_null()?;
         623  +
                    } else {
         624  +
                        builder.ip_address = Some(deser.read_string(member)?);
         625  +
                    }
         626  +
                }
         627  +
                Some(8) => {
         628  +
                    if deser.is_null() {
         629  +
                        deser.read_null()?;
         630  +
                    } else {
         631  +
                        builder.launch_time = Some(deser.read_timestamp(member)?);
         632  +
                    }
         633  +
                }
         634  +
                Some(9) => {
         635  +
                    if deser.is_null() {
         636  +
                        deser.read_null()?;
         637  +
                    } else {
         638  +
                        builder.ping_status = Some(crate::types::PingStatus::from(deser.read_string(member)?.as_str()));
         639  +
                    }
         640  +
                }
         641  +
                Some(10) => {
         642  +
                    if deser.is_null() {
         643  +
                        deser.read_null()?;
         644  +
                    } else {
         645  +
                        builder.last_ping_date_time = Some(deser.read_timestamp(member)?);
         646  +
                    }
         647  +
                }
         648  +
                Some(11) => {
         649  +
                    if deser.is_null() {
         650  +
                        deser.read_null()?;
         651  +
                    } else {
         652  +
                        builder.agent_version = Some(deser.read_string(member)?);
         653  +
                    }
         654  +
                }
         655  +
                Some(12) => {
         656  +
                    if deser.is_null() {
         657  +
                        deser.read_null()?;
         658  +
                    } else {
         659  +
                        builder.platform_type = Some(crate::types::PlatformType::from(deser.read_string(member)?.as_str()));
         660  +
                    }
         661  +
                }
         662  +
                Some(13) => {
         663  +
                    if deser.is_null() {
         664  +
                        deser.read_null()?;
         665  +
                    } else {
         666  +
                        builder.platform_name = Some(deser.read_string(member)?);
         667  +
                    }
         668  +
                }
         669  +
                Some(14) => {
         670  +
                    if deser.is_null() {
         671  +
                        deser.read_null()?;
         672  +
                    } else {
         673  +
                        builder.platform_version = Some(deser.read_string(member)?);
         674  +
                    }
         675  +
                }
         676  +
                Some(15) => {
         677  +
                    if deser.is_null() {
         678  +
                        deser.read_null()?;
         679  +
                    } else {
         680  +
                        builder.activation_id = Some(deser.read_string(member)?);
         681  +
                    }
         682  +
                }
         683  +
                Some(16) => {
         684  +
                    if deser.is_null() {
         685  +
                        deser.read_null()?;
         686  +
                    } else {
         687  +
                        builder.iam_role = Some(deser.read_string(member)?);
         688  +
                    }
         689  +
                }
         690  +
                Some(17) => {
         691  +
                    if deser.is_null() {
         692  +
                        deser.read_null()?;
         693  +
                    } else {
         694  +
                        builder.registration_date = Some(deser.read_timestamp(member)?);
         695  +
                    }
         696  +
                }
         697  +
                Some(18) => {
         698  +
                    if deser.is_null() {
         699  +
                        deser.read_null()?;
         700  +
                    } else {
         701  +
                        builder.resource_type = Some(deser.read_string(member)?);
         702  +
                    }
         703  +
                }
         704  +
                Some(19) => {
         705  +
                    if deser.is_null() {
         706  +
                        deser.read_null()?;
         707  +
                    } else {
         708  +
                        builder.computer_name = Some(deser.read_string(member)?);
         709  +
                    }
         710  +
                }
         711  +
                Some(20) => {
         712  +
                    if deser.is_null() {
         713  +
                        deser.read_null()?;
         714  +
                    } else {
         715  +
                        builder.association_status = Some(deser.read_string(member)?);
         716  +
                    }
         717  +
                }
         718  +
                Some(21) => {
         719  +
                    if deser.is_null() {
         720  +
                        deser.read_null()?;
         721  +
                    } else {
         722  +
                        builder.last_association_execution_date = Some(deser.read_timestamp(member)?);
         723  +
                    }
         724  +
                }
         725  +
                Some(22) => {
         726  +
                    if deser.is_null() {
         727  +
                        deser.read_null()?;
         728  +
                    } else {
         729  +
                        builder.last_successful_association_execution_date = Some(deser.read_timestamp(member)?);
         730  +
                    }
         731  +
                }
         732  +
                Some(23) => {
         733  +
                    if deser.is_null() {
         734  +
                        deser.read_null()?;
         735  +
                    } else {
         736  +
                        builder.association_overview = Some(crate::types::InstanceAggregatedAssociationOverview::deserialize(deser)?);
         737  +
                    }
         738  +
                }
         739  +
                Some(24) => {
         740  +
                    if deser.is_null() {
         741  +
                        deser.read_null()?;
         742  +
                    } else {
         743  +
                        builder.source_id = Some(deser.read_string(member)?);
         744  +
                    }
         745  +
                }
         746  +
                Some(25) => {
         747  +
                    if deser.is_null() {
         748  +
                        deser.read_null()?;
         749  +
                    } else {
         750  +
                        builder.source_type = Some(crate::types::SourceType::from(deser.read_string(member)?.as_str()));
         751  +
                    }
         752  +
                }
         753  +
                Some(26) => {
         754  +
                    if deser.is_null() {
         755  +
                        deser.read_null()?;
         756  +
                    } else {
         757  +
                        builder.source_location = Some(deser.read_string(member)?);
         758  +
                    }
         759  +
                }
         760  +
                Some(27) => {
         761  +
                    if deser.is_null() {
         762  +
                        deser.read_null()?;
         763  +
                    } else {
         764  +
                        builder.availability_zone = Some(deser.read_string(member)?);
         765  +
                    }
         766  +
                }
         767  +
                _ => {}
         768  +
            }
         769  +
            Ok(())
         770  +
        })?;
         771  +
        Ok(builder.build())
         772  +
    }
         773  +
}
         774  +
impl InstanceProperty {
         775  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         776  +
    pub fn deserialize_with_response(
         777  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         778  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         779  +
        _status: u16,
         780  +
        _body: &[u8],
         781  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         782  +
        Self::deserialize(deserializer)
         783  +
    }
         784  +
}
         785  +
impl InstanceProperty {
         786  +
    /// Creates a new builder-style object to manufacture [`InstanceProperty`](crate::types::InstanceProperty).
         787  +
    pub fn builder() -> crate::types::builders::InstancePropertyBuilder {
         788  +
        crate::types::builders::InstancePropertyBuilder::default()
         789  +
    }
         790  +
}
         791  +
         792  +
/// A builder for [`InstanceProperty`](crate::types::InstanceProperty).
         793  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
         794  +
#[non_exhaustive]
         795  +
pub struct InstancePropertyBuilder {
         796  +
    pub(crate) name: ::std::option::Option<::std::string::String>,
         797  +
    pub(crate) instance_id: ::std::option::Option<::std::string::String>,
         798  +
    pub(crate) instance_type: ::std::option::Option<::std::string::String>,
         799  +
    pub(crate) instance_role: ::std::option::Option<::std::string::String>,
         800  +
    pub(crate) key_name: ::std::option::Option<::std::string::String>,
         801  +
    pub(crate) instance_state: ::std::option::Option<::std::string::String>,
         802  +
    pub(crate) architecture: ::std::option::Option<::std::string::String>,
         803  +
    pub(crate) ip_address: ::std::option::Option<::std::string::String>,
         804  +
    pub(crate) launch_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         805  +
    pub(crate) ping_status: ::std::option::Option<crate::types::PingStatus>,
         806  +
    pub(crate) last_ping_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         807  +
    pub(crate) agent_version: ::std::option::Option<::std::string::String>,
         808  +
    pub(crate) platform_type: ::std::option::Option<crate::types::PlatformType>,
         809  +
    pub(crate) platform_name: ::std::option::Option<::std::string::String>,
         810  +
    pub(crate) platform_version: ::std::option::Option<::std::string::String>,
         811  +
    pub(crate) activation_id: ::std::option::Option<::std::string::String>,
         812  +
    pub(crate) iam_role: ::std::option::Option<::std::string::String>,
         813  +
    pub(crate) registration_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         814  +
    pub(crate) resource_type: ::std::option::Option<::std::string::String>,
         815  +
    pub(crate) computer_name: ::std::option::Option<::std::string::String>,
         816  +
    pub(crate) association_status: ::std::option::Option<::std::string::String>,
         817  +
    pub(crate) last_association_execution_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         818  +
    pub(crate) last_successful_association_execution_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         819  +
    pub(crate) association_overview: ::std::option::Option<crate::types::InstanceAggregatedAssociationOverview>,
         820  +
    pub(crate) source_id: ::std::option::Option<::std::string::String>,
         821  +
    pub(crate) source_type: ::std::option::Option<crate::types::SourceType>,
         822  +
    pub(crate) source_location: ::std::option::Option<::std::string::String>,
         823  +
    pub(crate) availability_zone: ::std::option::Option<::std::string::String>,
         824  +
}
         825  +
impl InstancePropertyBuilder {
         826  +
    /// <p>The value of the EC2 <code>Name</code> tag associated with the node. If a <code>Name</code> tag hasn't been applied to the node, this value is blank.</p>
         827  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         828  +
        self.name = ::std::option::Option::Some(input.into());
         829  +
        self
         830  +
    }
         831  +
    /// <p>The value of the EC2 <code>Name</code> tag associated with the node. If a <code>Name</code> tag hasn't been applied to the node, this value is blank.</p>
         832  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         833  +
        self.name = input;
         834  +
        self
         835  +
    }
         836  +
    /// <p>The value of the EC2 <code>Name</code> tag associated with the node. If a <code>Name</code> tag hasn't been applied to the node, this value is blank.</p>
         837  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         838  +
        &self.name
         839  +
    }
         840  +
    /// <p>The ID of the managed node.</p>
         841  +
    pub fn instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         842  +
        self.instance_id = ::std::option::Option::Some(input.into());
         843  +
        self
         844  +
    }
         845  +
    /// <p>The ID of the managed node.</p>
         846  +
    pub fn set_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         847  +
        self.instance_id = input;
         848  +
        self
         849  +
    }
         850  +
    /// <p>The ID of the managed node.</p>
         851  +
    pub fn get_instance_id(&self) -> &::std::option::Option<::std::string::String> {
         852  +
        &self.instance_id
         853  +
    }
         854  +
    /// <p>The instance type of the managed node. For example, t3.large.</p>
         855  +
    pub fn instance_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         856  +
        self.instance_type = ::std::option::Option::Some(input.into());
         857  +
        self
         858  +
    }
         859  +
    /// <p>The instance type of the managed node. For example, t3.large.</p>
         860  +
    pub fn set_instance_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         861  +
        self.instance_type = input;
         862  +
        self
         863  +
    }
         864  +
    /// <p>The instance type of the managed node. For example, t3.large.</p>
         865  +
    pub fn get_instance_type(&self) -> &::std::option::Option<::std::string::String> {
         866  +
        &self.instance_type
         867  +
    }
         868  +
    /// <p>The instance profile attached to the node. If an instance profile isn't attached to the node, this value is blank.</p>
         869  +
    pub fn instance_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         870  +
        self.instance_role = ::std::option::Option::Some(input.into());
         871  +
        self
         872  +
    }
         873  +
    /// <p>The instance profile attached to the node. If an instance profile isn't attached to the node, this value is blank.</p>
         874  +
    pub fn set_instance_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         875  +
        self.instance_role = input;
         876  +
        self
         877  +
    }
         878  +
    /// <p>The instance profile attached to the node. If an instance profile isn't attached to the node, this value is blank.</p>
         879  +
    pub fn get_instance_role(&self) -> &::std::option::Option<::std::string::String> {
         880  +
        &self.instance_role
         881  +
    }
         882  +
    /// <p>The name of the key pair associated with the node. If a key pair isnt't associated with the node, this value is blank.</p>
         883  +
    pub fn key_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         884  +
        self.key_name = ::std::option::Option::Some(input.into());
         885  +
        self
         886  +
    }
         887  +
    /// <p>The name of the key pair associated with the node. If a key pair isnt't associated with the node, this value is blank.</p>
         888  +
    pub fn set_key_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         889  +
        self.key_name = input;
         890  +
        self
         891  +
    }
         892  +
    /// <p>The name of the key pair associated with the node. If a key pair isnt't associated with the node, this value is blank.</p>
         893  +
    pub fn get_key_name(&self) -> &::std::option::Option<::std::string::String> {
         894  +
        &self.key_name
         895  +
    }
         896  +
    /// <p>The current state of the node.</p>
         897  +
    pub fn instance_state(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         898  +
        self.instance_state = ::std::option::Option::Some(input.into());
         899  +
        self
         900  +
    }
         901  +
    /// <p>The current state of the node.</p>
         902  +
    pub fn set_instance_state(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         903  +
        self.instance_state = input;
         904  +
        self
         905  +
    }
         906  +
    /// <p>The current state of the node.</p>
         907  +
    pub fn get_instance_state(&self) -> &::std::option::Option<::std::string::String> {
         908  +
        &self.instance_state
         909  +
    }
         910  +
    /// <p>The CPU architecture of the node. For example, <code>x86_64</code>.</p>
         911  +
    pub fn architecture(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         912  +
        self.architecture = ::std::option::Option::Some(input.into());
         913  +
        self
         914  +
    }
         915  +
    /// <p>The CPU architecture of the node. For example, <code>x86_64</code>.</p>
         916  +
    pub fn set_architecture(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         917  +
        self.architecture = input;
         918  +
        self
         919  +
    }
         920  +
    /// <p>The CPU architecture of the node. For example, <code>x86_64</code>.</p>
         921  +
    pub fn get_architecture(&self) -> &::std::option::Option<::std::string::String> {
         922  +
        &self.architecture
         923  +
    }
         924  +
    /// <p>The public IPv4 address assigned to the node. If a public IPv4 address isn't assigned to the node, this value is blank.</p>
         925  +
    pub fn ip_address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         926  +
        self.ip_address = ::std::option::Option::Some(input.into());
         927  +
        self
         928  +
    }
         929  +
    /// <p>The public IPv4 address assigned to the node. If a public IPv4 address isn't assigned to the node, this value is blank.</p>
         930  +
    pub fn set_ip_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         931  +
        self.ip_address = input;
         932  +
        self
         933  +
    }
         934  +
    /// <p>The public IPv4 address assigned to the node. If a public IPv4 address isn't assigned to the node, this value is blank.</p>
         935  +
    pub fn get_ip_address(&self) -> &::std::option::Option<::std::string::String> {
         936  +
        &self.ip_address
         937  +
    }
         938  +
    /// <p>The timestamp for when the node was launched.</p>
         939  +
    pub fn launch_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         940  +
        self.launch_time = ::std::option::Option::Some(input);
         941  +
        self
         942  +
    }
         943  +
    /// <p>The timestamp for when the node was launched.</p>
         944  +
    pub fn set_launch_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         945  +
        self.launch_time = input;
         946  +
        self
         947  +
    }
         948  +
    /// <p>The timestamp for when the node was launched.</p>
         949  +
    pub fn get_launch_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         950  +
        &self.launch_time
         951  +
    }
         952  +
    /// <p>Connection status of the SSM Agent on the managed node.</p>
         953  +
    pub fn ping_status(mut self, input: crate::types::PingStatus) -> Self {
         954  +
        self.ping_status = ::std::option::Option::Some(input);
         955  +
        self
         956  +
    }
         957  +
    /// <p>Connection status of the SSM Agent on the managed node.</p>
         958  +
    pub fn set_ping_status(mut self, input: ::std::option::Option<crate::types::PingStatus>) -> Self {
         959  +
        self.ping_status = input;
         960  +
        self
         961  +
    }
         962  +
    /// <p>Connection status of the SSM Agent on the managed node.</p>
         963  +
    pub fn get_ping_status(&self) -> &::std::option::Option<crate::types::PingStatus> {
         964  +
        &self.ping_status
         965  +
    }
         966  +
    /// <p>The date and time when the SSM Agent last pinged the Systems Manager service.</p>
         967  +
    pub fn last_ping_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         968  +
        self.last_ping_date_time = ::std::option::Option::Some(input);
         969  +
        self
         970  +
    }
         971  +
    /// <p>The date and time when the SSM Agent last pinged the Systems Manager service.</p>
         972  +
    pub fn set_last_ping_date_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         973  +
        self.last_ping_date_time = input;
         974  +
        self
         975  +
    }
         976  +
    /// <p>The date and time when the SSM Agent last pinged the Systems Manager service.</p>
         977  +
    pub fn get_last_ping_date_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         978  +
        &self.last_ping_date_time
         979  +
    }
         980  +
    /// <p>The version of SSM Agent running on your managed node.</p>
         981  +
    pub fn agent_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         982  +
        self.agent_version = ::std::option::Option::Some(input.into());
         983  +
        self
         984  +
    }
         985  +
    /// <p>The version of SSM Agent running on your managed node.</p>
         986  +
    pub fn set_agent_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         987  +
        self.agent_version = input;
         988  +
        self
         989  +
    }
         990  +
    /// <p>The version of SSM Agent running on your managed node.</p>
         991  +
    pub fn get_agent_version(&self) -> &::std::option::Option<::std::string::String> {
         992  +
        &self.agent_version
         993  +
    }
         994  +
    /// <p>The operating system platform type of the managed node. For example, Windows Server or Amazon Linux 2.</p>
         995  +
    pub fn platform_type(mut self, input: crate::types::PlatformType) -> Self {
         996  +
        self.platform_type = ::std::option::Option::Some(input);
         997  +
        self
         998  +
    }
         999  +
    /// <p>The operating system platform type of the managed node. For example, Windows Server or Amazon Linux 2.</p>
        1000  +
    pub fn set_platform_type(mut self, input: ::std::option::Option<crate::types::PlatformType>) -> Self {
        1001  +
        self.platform_type = input;
        1002  +
        self
        1003  +
    }
        1004  +
    /// <p>The operating system platform type of the managed node. For example, Windows Server or Amazon Linux 2.</p>
        1005  +
    pub fn get_platform_type(&self) -> &::std::option::Option<crate::types::PlatformType> {
        1006  +
        &self.platform_type
        1007  +
    }
        1008  +
    /// <p>The name of the operating system platform running on your managed node.</p>
        1009  +
    pub fn platform_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1010  +
        self.platform_name = ::std::option::Option::Some(input.into());
        1011  +
        self
        1012  +
    }
        1013  +
    /// <p>The name of the operating system platform running on your managed node.</p>
        1014  +
    pub fn set_platform_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1015  +
        self.platform_name = input;
        1016  +
        self
        1017  +
    }
        1018  +
    /// <p>The name of the operating system platform running on your managed node.</p>
        1019  +
    pub fn get_platform_name(&self) -> &::std::option::Option<::std::string::String> {
        1020  +
        &self.platform_name
        1021  +
    }
        1022  +
    /// <p>The version of the OS platform running on your managed node.</p>
        1023  +
    pub fn platform_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1024  +
        self.platform_version = ::std::option::Option::Some(input.into());
        1025  +
        self
        1026  +
    }
        1027  +
    /// <p>The version of the OS platform running on your managed node.</p>
        1028  +
    pub fn set_platform_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1029  +
        self.platform_version = input;
        1030  +
        self
        1031  +
    }
        1032  +
    /// <p>The version of the OS platform running on your managed node.</p>
        1033  +
    pub fn get_platform_version(&self) -> &::std::option::Option<::std::string::String> {
        1034  +
        &self.platform_version
        1035  +
    }
        1036  +
    /// <p>The activation ID created by Systems Manager when the server or virtual machine (VM) was registered</p>
        1037  +
    pub fn activation_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1038  +
        self.activation_id = ::std::option::Option::Some(input.into());
        1039  +
        self
        1040  +
    }
        1041  +
    /// <p>The activation ID created by Systems Manager when the server or virtual machine (VM) was registered</p>
        1042  +
    pub fn set_activation_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1043  +
        self.activation_id = input;
        1044  +
        self
        1045  +
    }
        1046  +
    /// <p>The activation ID created by Systems Manager when the server or virtual machine (VM) was registered</p>
        1047  +
    pub fn get_activation_id(&self) -> &::std::option::Option<::std::string::String> {
        1048  +
        &self.activation_id
        1049  +
    }
        1050  +
    /// <p>The IAM role used in the hybrid activation to register the node with Systems Manager.</p>
        1051  +
    pub fn iam_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1052  +
        self.iam_role = ::std::option::Option::Some(input.into());
        1053  +
        self
        1054  +
    }
        1055  +
    /// <p>The IAM role used in the hybrid activation to register the node with Systems Manager.</p>
        1056  +
    pub fn set_iam_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1057  +
        self.iam_role = input;
        1058  +
        self
        1059  +
    }
        1060  +
    /// <p>The IAM role used in the hybrid activation to register the node with Systems Manager.</p>
        1061  +
    pub fn get_iam_role(&self) -> &::std::option::Option<::std::string::String> {
        1062  +
        &self.iam_role
        1063  +
    }
        1064  +
    /// <p>The date the node was registered with Systems Manager.</p>
        1065  +
    pub fn registration_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        1066  +
        self.registration_date = ::std::option::Option::Some(input);
        1067  +
        self
        1068  +
    }
        1069  +
    /// <p>The date the node was registered with Systems Manager.</p>
        1070  +
    pub fn set_registration_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        1071  +
        self.registration_date = input;
        1072  +
        self
        1073  +
    }
        1074  +
    /// <p>The date the node was registered with Systems Manager.</p>
        1075  +
    pub fn get_registration_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        1076  +
        &self.registration_date
        1077  +
    }
        1078  +
    /// <p>The type of managed node.</p>
        1079  +
    pub fn resource_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1080  +
        self.resource_type = ::std::option::Option::Some(input.into());
        1081  +
        self
        1082  +
    }
        1083  +
    /// <p>The type of managed node.</p>
        1084  +
    pub fn set_resource_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1085  +
        self.resource_type = input;
        1086  +
        self
        1087  +
    }
        1088  +
    /// <p>The type of managed node.</p>
        1089  +
    pub fn get_resource_type(&self) -> &::std::option::Option<::std::string::String> {
        1090  +
        &self.resource_type
        1091  +
    }
        1092  +
    /// <p>The fully qualified host name of the managed node.</p>
        1093  +
    pub fn computer_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1094  +
        self.computer_name = ::std::option::Option::Some(input.into());
        1095  +
        self
        1096  +
    }
        1097  +
    /// <p>The fully qualified host name of the managed node.</p>
        1098  +
    pub fn set_computer_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1099  +
        self.computer_name = input;
        1100  +
        self
        1101  +
    }
        1102  +
    /// <p>The fully qualified host name of the managed node.</p>
        1103  +
    pub fn get_computer_name(&self) -> &::std::option::Option<::std::string::String> {
        1104  +
        &self.computer_name
        1105  +
    }
        1106  +
    /// <p>The status of the State Manager association applied to the managed node.</p>
        1107  +
    pub fn association_status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1108  +
        self.association_status = ::std::option::Option::Some(input.into());
        1109  +
        self
        1110  +
    }
        1111  +
    /// <p>The status of the State Manager association applied to the managed node.</p>
        1112  +
    pub fn set_association_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1113  +
        self.association_status = input;
        1114  +
        self
        1115  +
    }
        1116  +
    /// <p>The status of the State Manager association applied to the managed node.</p>
        1117  +
    pub fn get_association_status(&self) -> &::std::option::Option<::std::string::String> {
        1118  +
        &self.association_status
        1119  +
    }
        1120  +
    /// <p>The date the association was last run.</p>
        1121  +
    pub fn last_association_execution_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        1122  +
        self.last_association_execution_date = ::std::option::Option::Some(input);
        1123  +
        self
        1124  +
    }
        1125  +
    /// <p>The date the association was last run.</p>
        1126  +
    pub fn set_last_association_execution_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        1127  +
        self.last_association_execution_date = input;
        1128  +
        self
        1129  +
    }
        1130  +
    /// <p>The date the association was last run.</p>
        1131  +
    pub fn get_last_association_execution_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        1132  +
        &self.last_association_execution_date
        1133  +
    }
        1134  +
    /// <p>The last date the association was successfully run.</p>
        1135  +
    pub fn last_successful_association_execution_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        1136  +
        self.last_successful_association_execution_date = ::std::option::Option::Some(input);
        1137  +
        self
        1138  +
    }
        1139  +
    /// <p>The last date the association was successfully run.</p>
        1140  +
    pub fn set_last_successful_association_execution_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        1141  +
        self.last_successful_association_execution_date = input;
        1142  +
        self
        1143  +
    }
        1144  +
    /// <p>The last date the association was successfully run.</p>
        1145  +
    pub fn get_last_successful_association_execution_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        1146  +
        &self.last_successful_association_execution_date
        1147  +
    }
        1148  +
    /// <p>Status information about the aggregated associations.</p>
        1149  +
    pub fn association_overview(mut self, input: crate::types::InstanceAggregatedAssociationOverview) -> Self {
        1150  +
        self.association_overview = ::std::option::Option::Some(input);
        1151  +
        self
        1152  +
    }
        1153  +
    /// <p>Status information about the aggregated associations.</p>
        1154  +
    pub fn set_association_overview(mut self, input: ::std::option::Option<crate::types::InstanceAggregatedAssociationOverview>) -> Self {
        1155  +
        self.association_overview = input;
        1156  +
        self
        1157  +
    }
        1158  +
    /// <p>Status information about the aggregated associations.</p>
        1159  +
    pub fn get_association_overview(&self) -> &::std::option::Option<crate::types::InstanceAggregatedAssociationOverview> {
        1160  +
        &self.association_overview
        1161  +
    }
        1162  +
    /// <p>The ID of the source resource.</p>
        1163  +
    pub fn source_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1164  +
        self.source_id = ::std::option::Option::Some(input.into());
        1165  +
        self
        1166  +
    }
        1167  +
    /// <p>The ID of the source resource.</p>
        1168  +
    pub fn set_source_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1169  +
        self.source_id = input;
        1170  +
        self
        1171  +
    }
        1172  +
    /// <p>The ID of the source resource.</p>
        1173  +
    pub fn get_source_id(&self) -> &::std::option::Option<::std::string::String> {
        1174  +
        &self.source_id
        1175  +
    }
        1176  +
    /// <p>The type of the source resource. Valid values: <code>AWS::EC2::Instance</code> | <code>AWS::SSM::ManagedInstance</code> | <code>AWS::IoT::Thing</code> | <code>Microsoft.Compute/virtualMachines</code>.</p>
        1177  +
    pub fn source_type(mut self, input: crate::types::SourceType) -> Self {
        1178  +
        self.source_type = ::std::option::Option::Some(input);
        1179  +
        self
        1180  +
    }
        1181  +
    /// <p>The type of the source resource. Valid values: <code>AWS::EC2::Instance</code> | <code>AWS::SSM::ManagedInstance</code> | <code>AWS::IoT::Thing</code> | <code>Microsoft.Compute/virtualMachines</code>.</p>
        1182  +
    pub fn set_source_type(mut self, input: ::std::option::Option<crate::types::SourceType>) -> Self {
        1183  +
        self.source_type = input;
        1184  +
        self
        1185  +
    }
        1186  +
    /// <p>The type of the source resource. Valid values: <code>AWS::EC2::Instance</code> | <code>AWS::SSM::ManagedInstance</code> | <code>AWS::IoT::Thing</code> | <code>Microsoft.Compute/virtualMachines</code>.</p>
        1187  +
    pub fn get_source_type(&self) -> &::std::option::Option<crate::types::SourceType> {
        1188  +
        &self.source_type
        1189  +
    }
        1190  +
    /// <p>The location of the source resource in the third-party cloud environment.</p>
        1191  +
    pub fn source_location(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1192  +
        self.source_location = ::std::option::Option::Some(input.into());
        1193  +
        self
        1194  +
    }
        1195  +
    /// <p>The location of the source resource in the third-party cloud environment.</p>
        1196  +
    pub fn set_source_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1197  +
        self.source_location = input;
        1198  +
        self
        1199  +
    }
        1200  +
    /// <p>The location of the source resource in the third-party cloud environment.</p>
        1201  +
    pub fn get_source_location(&self) -> &::std::option::Option<::std::string::String> {
        1202  +
        &self.source_location
        1203  +
    }
        1204  +
    /// <p>The Availability Zone where the managed node is located.</p>
        1205  +
    pub fn availability_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1206  +
        self.availability_zone = ::std::option::Option::Some(input.into());
        1207  +
        self
        1208  +
    }
        1209  +
    /// <p>The Availability Zone where the managed node is located.</p>
        1210  +
    pub fn set_availability_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1211  +
        self.availability_zone = input;
        1212  +
        self
        1213  +
    }
        1214  +
    /// <p>The Availability Zone where the managed node is located.</p>
        1215  +
    pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> {
        1216  +
        &self.availability_zone
        1217  +
    }
        1218  +
    /// Consumes the builder and constructs a [`InstanceProperty`](crate::types::InstanceProperty).
        1219  +
    pub fn build(self) -> crate::types::InstanceProperty {
        1220  +
        crate::types::InstanceProperty {
        1221  +
            name: self.name,
        1222  +
            instance_id: self.instance_id,
        1223  +
            instance_type: self.instance_type,
        1224  +
            instance_role: self.instance_role,
        1225  +
            key_name: self.key_name,
        1226  +
            instance_state: self.instance_state,
        1227  +
            architecture: self.architecture,
        1228  +
            ip_address: self.ip_address,
        1229  +
            launch_time: self.launch_time,
        1230  +
            ping_status: self.ping_status,
        1231  +
            last_ping_date_time: self.last_ping_date_time,
        1232  +
            agent_version: self.agent_version,
        1233  +
            platform_type: self.platform_type,
        1234  +
            platform_name: self.platform_name,
        1235  +
            platform_version: self.platform_version,
        1236  +
            activation_id: self.activation_id,
        1237  +
            iam_role: self.iam_role,
        1238  +
            registration_date: self.registration_date,
        1239  +
            resource_type: self.resource_type,
        1240  +
            computer_name: self.computer_name,
        1241  +
            association_status: self.association_status,
        1242  +
            last_association_execution_date: self.last_association_execution_date,
        1243  +
            last_successful_association_execution_date: self.last_successful_association_execution_date,
        1244  +
            association_overview: self.association_overview,
        1245  +
            source_id: self.source_id,
        1246  +
            source_type: self.source_type,
        1247  +
            source_location: self.source_location,
        1248  +
            availability_zone: self.availability_zone,
        1249  +
        }
        1250  +
    }
        1251  +
}
        1252  +
impl ::std::fmt::Debug for InstancePropertyBuilder {
        1253  +
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        1254  +
        let mut formatter = f.debug_struct("InstancePropertyBuilder");
        1255  +
        formatter.field("name", &self.name);
        1256  +
        formatter.field("instance_id", &self.instance_id);
        1257  +
        formatter.field("instance_type", &self.instance_type);
        1258  +
        formatter.field("instance_role", &self.instance_role);
        1259  +
        formatter.field("key_name", &self.key_name);
        1260  +
        formatter.field("instance_state", &self.instance_state);
        1261  +
        formatter.field("architecture", &self.architecture);
        1262  +
        formatter.field("ip_address", &"*** Sensitive Data Redacted ***");
        1263  +
        formatter.field("launch_time", &self.launch_time);
        1264  +
        formatter.field("ping_status", &self.ping_status);
        1265  +
        formatter.field("last_ping_date_time", &self.last_ping_date_time);
        1266  +
        formatter.field("agent_version", &self.agent_version);
        1267  +
        formatter.field("platform_type", &self.platform_type);
        1268  +
        formatter.field("platform_name", &self.platform_name);
        1269  +
        formatter.field("platform_version", &self.platform_version);
        1270  +
        formatter.field("activation_id", &self.activation_id);
        1271  +
        formatter.field("iam_role", &self.iam_role);
        1272  +
        formatter.field("registration_date", &self.registration_date);
        1273  +
        formatter.field("resource_type", &self.resource_type);
        1274  +
        formatter.field("computer_name", &self.computer_name);
        1275  +
        formatter.field("association_status", &self.association_status);
        1276  +
        formatter.field("last_association_execution_date", &self.last_association_execution_date);
        1277  +
        formatter.field(
        1278  +
            "last_successful_association_execution_date",
        1279  +
            &self.last_successful_association_execution_date,
        1280  +
        );
        1281  +
        formatter.field("association_overview", &self.association_overview);
        1282  +
        formatter.field("source_id", &self.source_id);
        1283  +
        formatter.field("source_type", &self.source_type);
        1284  +
        formatter.field("source_location", &self.source_location);
        1285  +
        formatter.field("availability_zone", &self.availability_zone);
        1286  +
        formatter.finish()
        1287  +
    }
        1288  +
}