AWS SDK

AWS SDK

rev. aa190e630077955f0bc8f58dee6a16530c1e0578 (ignoring whitespace)

Files changed:

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

@@ -0,1 +0,545 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>Includes information about the specified association.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub struct AssociationExecution {
           7  +
    /// <p>The association ID.</p>
           8  +
    pub association_id: ::std::option::Option<::std::string::String>,
           9  +
    /// <p>The association version.</p>
          10  +
    pub association_version: ::std::option::Option<::std::string::String>,
          11  +
    /// <p>The execution ID for the association.</p>
          12  +
    pub execution_id: ::std::option::Option<::std::string::String>,
          13  +
    /// <p>The status of the association execution.</p>
          14  +
    pub status: ::std::option::Option<::std::string::String>,
          15  +
    /// <p>Detailed status information about the execution.</p>
          16  +
    pub detailed_status: ::std::option::Option<::std::string::String>,
          17  +
    /// <p>The time the execution started.</p>
          18  +
    pub created_time: ::std::option::Option<::aws_smithy_types::DateTime>,
          19  +
    /// <p>The date of the last execution.</p>
          20  +
    pub last_execution_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          21  +
    /// <p>An aggregate status of the resources in the execution based on the status type.</p>
          22  +
    pub resource_count_by_status: ::std::option::Option<::std::string::String>,
          23  +
    /// <p>The details for the CloudWatch alarm you want to apply to an automation or command.</p>
          24  +
    pub alarm_configuration: ::std::option::Option<crate::types::AlarmConfiguration>,
          25  +
    /// <p>The CloudWatch alarms that were invoked by the association.</p>
          26  +
    pub triggered_alarms: ::std::option::Option<::std::vec::Vec<crate::types::AlarmStateInformation>>,
          27  +
}
          28  +
impl AssociationExecution {
          29  +
    /// <p>The association ID.</p>
          30  +
    pub fn association_id(&self) -> ::std::option::Option<&str> {
          31  +
        self.association_id.as_deref()
          32  +
    }
          33  +
    /// <p>The association version.</p>
          34  +
    pub fn association_version(&self) -> ::std::option::Option<&str> {
          35  +
        self.association_version.as_deref()
          36  +
    }
          37  +
    /// <p>The execution ID for the association.</p>
          38  +
    pub fn execution_id(&self) -> ::std::option::Option<&str> {
          39  +
        self.execution_id.as_deref()
          40  +
    }
          41  +
    /// <p>The status of the association execution.</p>
          42  +
    pub fn status(&self) -> ::std::option::Option<&str> {
          43  +
        self.status.as_deref()
          44  +
    }
          45  +
    /// <p>Detailed status information about the execution.</p>
          46  +
    pub fn detailed_status(&self) -> ::std::option::Option<&str> {
          47  +
        self.detailed_status.as_deref()
          48  +
    }
          49  +
    /// <p>The time the execution started.</p>
          50  +
    pub fn created_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          51  +
        self.created_time.as_ref()
          52  +
    }
          53  +
    /// <p>The date of the last execution.</p>
          54  +
    pub fn last_execution_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          55  +
        self.last_execution_date.as_ref()
          56  +
    }
          57  +
    /// <p>An aggregate status of the resources in the execution based on the status type.</p>
          58  +
    pub fn resource_count_by_status(&self) -> ::std::option::Option<&str> {
          59  +
        self.resource_count_by_status.as_deref()
          60  +
    }
          61  +
    /// <p>The details for the CloudWatch alarm you want to apply to an automation or command.</p>
          62  +
    pub fn alarm_configuration(&self) -> ::std::option::Option<&crate::types::AlarmConfiguration> {
          63  +
        self.alarm_configuration.as_ref()
          64  +
    }
          65  +
    /// <p>The CloudWatch alarms that were invoked by the association.</p>
          66  +
    ///
          67  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.triggered_alarms.is_none()`.
          68  +
    pub fn triggered_alarms(&self) -> &[crate::types::AlarmStateInformation] {
          69  +
        self.triggered_alarms.as_deref().unwrap_or_default()
          70  +
    }
          71  +
}
          72  +
static ASSOCIATIONEXECUTION_MEMBER_ASSOCIATION_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          73  +
    ::aws_smithy_schema::ShapeId::from_parts(
          74  +
        "com.amazonaws.ssm#AssociationExecution$AssociationId",
          75  +
        "com.amazonaws.ssm",
          76  +
        "AssociationExecution",
          77  +
    ),
          78  +
    ::aws_smithy_schema::ShapeType::String,
          79  +
    "AssociationId",
          80  +
    0,
          81  +
);
          82  +
static ASSOCIATIONEXECUTION_MEMBER_ASSOCIATION_VERSION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          83  +
    ::aws_smithy_schema::ShapeId::from_parts(
          84  +
        "com.amazonaws.ssm#AssociationExecution$AssociationVersion",
          85  +
        "com.amazonaws.ssm",
          86  +
        "AssociationExecution",
          87  +
    ),
          88  +
    ::aws_smithy_schema::ShapeType::String,
          89  +
    "AssociationVersion",
          90  +
    1,
          91  +
);
          92  +
static ASSOCIATIONEXECUTION_MEMBER_EXECUTION_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          93  +
    ::aws_smithy_schema::ShapeId::from_parts(
          94  +
        "com.amazonaws.ssm#AssociationExecution$ExecutionId",
          95  +
        "com.amazonaws.ssm",
          96  +
        "AssociationExecution",
          97  +
    ),
          98  +
    ::aws_smithy_schema::ShapeType::String,
          99  +
    "ExecutionId",
         100  +
    2,
         101  +
);
         102  +
static ASSOCIATIONEXECUTION_MEMBER_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         103  +
    ::aws_smithy_schema::ShapeId::from_parts(
         104  +
        "com.amazonaws.ssm#AssociationExecution$Status",
         105  +
        "com.amazonaws.ssm",
         106  +
        "AssociationExecution",
         107  +
    ),
         108  +
    ::aws_smithy_schema::ShapeType::String,
         109  +
    "Status",
         110  +
    3,
         111  +
);
         112  +
static ASSOCIATIONEXECUTION_MEMBER_DETAILED_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         113  +
    ::aws_smithy_schema::ShapeId::from_parts(
         114  +
        "com.amazonaws.ssm#AssociationExecution$DetailedStatus",
         115  +
        "com.amazonaws.ssm",
         116  +
        "AssociationExecution",
         117  +
    ),
         118  +
    ::aws_smithy_schema::ShapeType::String,
         119  +
    "DetailedStatus",
         120  +
    4,
         121  +
);
         122  +
static ASSOCIATIONEXECUTION_MEMBER_CREATED_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         123  +
    ::aws_smithy_schema::ShapeId::from_parts(
         124  +
        "com.amazonaws.ssm#AssociationExecution$CreatedTime",
         125  +
        "com.amazonaws.ssm",
         126  +
        "AssociationExecution",
         127  +
    ),
         128  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         129  +
    "CreatedTime",
         130  +
    5,
         131  +
);
         132  +
static ASSOCIATIONEXECUTION_MEMBER_LAST_EXECUTION_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         133  +
    ::aws_smithy_schema::ShapeId::from_parts(
         134  +
        "com.amazonaws.ssm#AssociationExecution$LastExecutionDate",
         135  +
        "com.amazonaws.ssm",
         136  +
        "AssociationExecution",
         137  +
    ),
         138  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         139  +
    "LastExecutionDate",
         140  +
    6,
         141  +
);
         142  +
static ASSOCIATIONEXECUTION_MEMBER_RESOURCE_COUNT_BY_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         143  +
    ::aws_smithy_schema::ShapeId::from_parts(
         144  +
        "com.amazonaws.ssm#AssociationExecution$ResourceCountByStatus",
         145  +
        "com.amazonaws.ssm",
         146  +
        "AssociationExecution",
         147  +
    ),
         148  +
    ::aws_smithy_schema::ShapeType::String,
         149  +
    "ResourceCountByStatus",
         150  +
    7,
         151  +
);
         152  +
static ASSOCIATIONEXECUTION_MEMBER_ALARM_CONFIGURATION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         153  +
    ::aws_smithy_schema::ShapeId::from_parts(
         154  +
        "com.amazonaws.ssm#AssociationExecution$AlarmConfiguration",
         155  +
        "com.amazonaws.ssm",
         156  +
        "AssociationExecution",
         157  +
    ),
         158  +
    ::aws_smithy_schema::ShapeType::Structure,
         159  +
    "AlarmConfiguration",
         160  +
    8,
         161  +
);
         162  +
static ASSOCIATIONEXECUTION_MEMBER_TRIGGERED_ALARMS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         163  +
    ::aws_smithy_schema::ShapeId::from_parts(
         164  +
        "com.amazonaws.ssm#AlarmStateInformationList$member",
         165  +
        "com.amazonaws.ssm",
         166  +
        "AlarmStateInformationList",
         167  +
    ),
         168  +
    ::aws_smithy_schema::ShapeType::Structure,
         169  +
    "member",
         170  +
    0,
         171  +
);
         172  +
static ASSOCIATIONEXECUTION_MEMBER_TRIGGERED_ALARMS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         173  +
    ::aws_smithy_schema::ShapeId::from_parts(
         174  +
        "com.amazonaws.ssm#AssociationExecution$TriggeredAlarms",
         175  +
        "com.amazonaws.ssm",
         176  +
        "AssociationExecution",
         177  +
    ),
         178  +
    ::aws_smithy_schema::ShapeType::List,
         179  +
    "TriggeredAlarms",
         180  +
    9,
         181  +
)
         182  +
.with_list_member(&ASSOCIATIONEXECUTION_MEMBER_TRIGGERED_ALARMS_MEMBER);
         183  +
static ASSOCIATIONEXECUTION_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         184  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#AssociationExecution", "com.amazonaws.ssm", "AssociationExecution"),
         185  +
    ::aws_smithy_schema::ShapeType::Structure,
         186  +
    &[
         187  +
        &ASSOCIATIONEXECUTION_MEMBER_ASSOCIATION_ID,
         188  +
        &ASSOCIATIONEXECUTION_MEMBER_ASSOCIATION_VERSION,
         189  +
        &ASSOCIATIONEXECUTION_MEMBER_EXECUTION_ID,
         190  +
        &ASSOCIATIONEXECUTION_MEMBER_STATUS,
         191  +
        &ASSOCIATIONEXECUTION_MEMBER_DETAILED_STATUS,
         192  +
        &ASSOCIATIONEXECUTION_MEMBER_CREATED_TIME,
         193  +
        &ASSOCIATIONEXECUTION_MEMBER_LAST_EXECUTION_DATE,
         194  +
        &ASSOCIATIONEXECUTION_MEMBER_RESOURCE_COUNT_BY_STATUS,
         195  +
        &ASSOCIATIONEXECUTION_MEMBER_ALARM_CONFIGURATION,
         196  +
        &ASSOCIATIONEXECUTION_MEMBER_TRIGGERED_ALARMS,
         197  +
    ],
         198  +
);
         199  +
impl AssociationExecution {
         200  +
    /// The schema for this shape.
         201  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &ASSOCIATIONEXECUTION_SCHEMA;
         202  +
}
         203  +
impl ::aws_smithy_schema::serde::SerializableStruct for AssociationExecution {
         204  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         205  +
    fn serialize_members(
         206  +
        &self,
         207  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         208  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         209  +
        if let Some(ref val) = self.association_id {
         210  +
            ser.write_string(&ASSOCIATIONEXECUTION_MEMBER_ASSOCIATION_ID, val)?;
         211  +
        }
         212  +
        if let Some(ref val) = self.association_version {
         213  +
            ser.write_string(&ASSOCIATIONEXECUTION_MEMBER_ASSOCIATION_VERSION, val)?;
         214  +
        }
         215  +
        if let Some(ref val) = self.execution_id {
         216  +
            ser.write_string(&ASSOCIATIONEXECUTION_MEMBER_EXECUTION_ID, val)?;
         217  +
        }
         218  +
        if let Some(ref val) = self.status {
         219  +
            ser.write_string(&ASSOCIATIONEXECUTION_MEMBER_STATUS, val)?;
         220  +
        }
         221  +
        if let Some(ref val) = self.detailed_status {
         222  +
            ser.write_string(&ASSOCIATIONEXECUTION_MEMBER_DETAILED_STATUS, val)?;
         223  +
        }
         224  +
        if let Some(ref val) = self.created_time {
         225  +
            ser.write_timestamp(&ASSOCIATIONEXECUTION_MEMBER_CREATED_TIME, val)?;
         226  +
        }
         227  +
        if let Some(ref val) = self.last_execution_date {
         228  +
            ser.write_timestamp(&ASSOCIATIONEXECUTION_MEMBER_LAST_EXECUTION_DATE, val)?;
         229  +
        }
         230  +
        if let Some(ref val) = self.resource_count_by_status {
         231  +
            ser.write_string(&ASSOCIATIONEXECUTION_MEMBER_RESOURCE_COUNT_BY_STATUS, val)?;
         232  +
        }
         233  +
        if let Some(ref val) = self.alarm_configuration {
         234  +
            ser.write_struct(&ASSOCIATIONEXECUTION_MEMBER_ALARM_CONFIGURATION, val)?;
         235  +
        }
         236  +
        if let Some(ref val) = self.triggered_alarms {
         237  +
            ser.write_list(
         238  +
                &ASSOCIATIONEXECUTION_MEMBER_TRIGGERED_ALARMS,
         239  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         240  +
                    for item in val {
         241  +
                        ser.write_struct(crate::types::AlarmStateInformation::SCHEMA, item)?;
         242  +
                    }
         243  +
                    Ok(())
         244  +
                },
         245  +
            )?;
         246  +
        }
         247  +
        Ok(())
         248  +
    }
         249  +
}
         250  +
impl AssociationExecution {
         251  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         252  +
    pub fn deserialize(
         253  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         254  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         255  +
        #[allow(unused_variables, unused_mut)]
         256  +
        let mut builder = Self::builder();
         257  +
        #[allow(
         258  +
            unused_variables,
         259  +
            unreachable_code,
         260  +
            clippy::single_match,
         261  +
            clippy::match_single_binding,
         262  +
            clippy::diverging_sub_expression
         263  +
        )]
         264  +
        deserializer.read_struct(&ASSOCIATIONEXECUTION_SCHEMA, &mut |member, deser| {
         265  +
            match member.member_index() {
         266  +
                Some(0) => {
         267  +
                    if deser.is_null() {
         268  +
                        deser.read_null()?;
         269  +
                    } else {
         270  +
                        builder.association_id = Some(deser.read_string(member)?);
         271  +
                    }
         272  +
                }
         273  +
                Some(1) => {
         274  +
                    if deser.is_null() {
         275  +
                        deser.read_null()?;
         276  +
                    } else {
         277  +
                        builder.association_version = Some(deser.read_string(member)?);
         278  +
                    }
         279  +
                }
         280  +
                Some(2) => {
         281  +
                    if deser.is_null() {
         282  +
                        deser.read_null()?;
         283  +
                    } else {
         284  +
                        builder.execution_id = Some(deser.read_string(member)?);
         285  +
                    }
         286  +
                }
         287  +
                Some(3) => {
         288  +
                    if deser.is_null() {
         289  +
                        deser.read_null()?;
         290  +
                    } else {
         291  +
                        builder.status = Some(deser.read_string(member)?);
         292  +
                    }
         293  +
                }
         294  +
                Some(4) => {
         295  +
                    if deser.is_null() {
         296  +
                        deser.read_null()?;
         297  +
                    } else {
         298  +
                        builder.detailed_status = Some(deser.read_string(member)?);
         299  +
                    }
         300  +
                }
         301  +
                Some(5) => {
         302  +
                    if deser.is_null() {
         303  +
                        deser.read_null()?;
         304  +
                    } else {
         305  +
                        builder.created_time = Some(deser.read_timestamp(member)?);
         306  +
                    }
         307  +
                }
         308  +
                Some(6) => {
         309  +
                    if deser.is_null() {
         310  +
                        deser.read_null()?;
         311  +
                    } else {
         312  +
                        builder.last_execution_date = Some(deser.read_timestamp(member)?);
         313  +
                    }
         314  +
                }
         315  +
                Some(7) => {
         316  +
                    if deser.is_null() {
         317  +
                        deser.read_null()?;
         318  +
                    } else {
         319  +
                        builder.resource_count_by_status = Some(deser.read_string(member)?);
         320  +
                    }
         321  +
                }
         322  +
                Some(8) => {
         323  +
                    if deser.is_null() {
         324  +
                        deser.read_null()?;
         325  +
                    } else {
         326  +
                        builder.alarm_configuration = Some(crate::types::AlarmConfiguration::deserialize(deser)?);
         327  +
                    }
         328  +
                }
         329  +
                Some(9) => {
         330  +
                    if deser.is_null() {
         331  +
                        deser.read_null()?;
         332  +
                    } else {
         333  +
                        builder.triggered_alarms = Some({
         334  +
                            let mut container = Vec::new();
         335  +
                            deser.read_list(member, &mut |deser| {
         336  +
                                container.push(crate::types::AlarmStateInformation::deserialize(deser)?);
         337  +
                                Ok(())
         338  +
                            })?;
         339  +
                            container
         340  +
                        });
         341  +
                    }
         342  +
                }
         343  +
                _ => {}
         344  +
            }
         345  +
            Ok(())
         346  +
        })?;
         347  +
        Ok(builder.build())
         348  +
    }
         349  +
}
         350  +
impl AssociationExecution {
         351  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         352  +
    pub fn deserialize_with_response(
         353  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         354  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         355  +
        _status: u16,
         356  +
        _body: &[u8],
         357  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         358  +
        Self::deserialize(deserializer)
         359  +
    }
         360  +
}
         361  +
impl AssociationExecution {
         362  +
    /// Creates a new builder-style object to manufacture [`AssociationExecution`](crate::types::AssociationExecution).
         363  +
    pub fn builder() -> crate::types::builders::AssociationExecutionBuilder {
         364  +
        crate::types::builders::AssociationExecutionBuilder::default()
         365  +
    }
         366  +
}
         367  +
         368  +
/// A builder for [`AssociationExecution`](crate::types::AssociationExecution).
         369  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         370  +
#[non_exhaustive]
         371  +
pub struct AssociationExecutionBuilder {
         372  +
    pub(crate) association_id: ::std::option::Option<::std::string::String>,
         373  +
    pub(crate) association_version: ::std::option::Option<::std::string::String>,
         374  +
    pub(crate) execution_id: ::std::option::Option<::std::string::String>,
         375  +
    pub(crate) status: ::std::option::Option<::std::string::String>,
         376  +
    pub(crate) detailed_status: ::std::option::Option<::std::string::String>,
         377  +
    pub(crate) created_time: ::std::option::Option<::aws_smithy_types::DateTime>,
         378  +
    pub(crate) last_execution_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         379  +
    pub(crate) resource_count_by_status: ::std::option::Option<::std::string::String>,
         380  +
    pub(crate) alarm_configuration: ::std::option::Option<crate::types::AlarmConfiguration>,
         381  +
    pub(crate) triggered_alarms: ::std::option::Option<::std::vec::Vec<crate::types::AlarmStateInformation>>,
         382  +
}
         383  +
impl AssociationExecutionBuilder {
         384  +
    /// <p>The association ID.</p>
         385  +
    pub fn association_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         386  +
        self.association_id = ::std::option::Option::Some(input.into());
         387  +
        self
         388  +
    }
         389  +
    /// <p>The association ID.</p>
         390  +
    pub fn set_association_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         391  +
        self.association_id = input;
         392  +
        self
         393  +
    }
         394  +
    /// <p>The association ID.</p>
         395  +
    pub fn get_association_id(&self) -> &::std::option::Option<::std::string::String> {
         396  +
        &self.association_id
         397  +
    }
         398  +
    /// <p>The association version.</p>
         399  +
    pub fn association_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         400  +
        self.association_version = ::std::option::Option::Some(input.into());
         401  +
        self
         402  +
    }
         403  +
    /// <p>The association version.</p>
         404  +
    pub fn set_association_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         405  +
        self.association_version = input;
         406  +
        self
         407  +
    }
         408  +
    /// <p>The association version.</p>
         409  +
    pub fn get_association_version(&self) -> &::std::option::Option<::std::string::String> {
         410  +
        &self.association_version
         411  +
    }
         412  +
    /// <p>The execution ID for the association.</p>
         413  +
    pub fn execution_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         414  +
        self.execution_id = ::std::option::Option::Some(input.into());
         415  +
        self
         416  +
    }
         417  +
    /// <p>The execution ID for the association.</p>
         418  +
    pub fn set_execution_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         419  +
        self.execution_id = input;
         420  +
        self
         421  +
    }
         422  +
    /// <p>The execution ID for the association.</p>
         423  +
    pub fn get_execution_id(&self) -> &::std::option::Option<::std::string::String> {
         424  +
        &self.execution_id
         425  +
    }
         426  +
    /// <p>The status of the association execution.</p>
         427  +
    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         428  +
        self.status = ::std::option::Option::Some(input.into());
         429  +
        self
         430  +
    }
         431  +
    /// <p>The status of the association execution.</p>
         432  +
    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         433  +
        self.status = input;
         434  +
        self
         435  +
    }
         436  +
    /// <p>The status of the association execution.</p>
         437  +
    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
         438  +
        &self.status
         439  +
    }
         440  +
    /// <p>Detailed status information about the execution.</p>
         441  +
    pub fn detailed_status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         442  +
        self.detailed_status = ::std::option::Option::Some(input.into());
         443  +
        self
         444  +
    }
         445  +
    /// <p>Detailed status information about the execution.</p>
         446  +
    pub fn set_detailed_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         447  +
        self.detailed_status = input;
         448  +
        self
         449  +
    }
         450  +
    /// <p>Detailed status information about the execution.</p>
         451  +
    pub fn get_detailed_status(&self) -> &::std::option::Option<::std::string::String> {
         452  +
        &self.detailed_status
         453  +
    }
         454  +
    /// <p>The time the execution started.</p>
         455  +
    pub fn created_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         456  +
        self.created_time = ::std::option::Option::Some(input);
         457  +
        self
         458  +
    }
         459  +
    /// <p>The time the execution started.</p>
         460  +
    pub fn set_created_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         461  +
        self.created_time = input;
         462  +
        self
         463  +
    }
         464  +
    /// <p>The time the execution started.</p>
         465  +
    pub fn get_created_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         466  +
        &self.created_time
         467  +
    }
         468  +
    /// <p>The date of the last execution.</p>
         469  +
    pub fn last_execution_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         470  +
        self.last_execution_date = ::std::option::Option::Some(input);
         471  +
        self
         472  +
    }
         473  +
    /// <p>The date of the last execution.</p>
         474  +
    pub fn set_last_execution_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         475  +
        self.last_execution_date = input;
         476  +
        self
         477  +
    }
         478  +
    /// <p>The date of the last execution.</p>
         479  +
    pub fn get_last_execution_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         480  +
        &self.last_execution_date
         481  +
    }
         482  +
    /// <p>An aggregate status of the resources in the execution based on the status type.</p>
         483  +
    pub fn resource_count_by_status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         484  +
        self.resource_count_by_status = ::std::option::Option::Some(input.into());
         485  +
        self
         486  +
    }
         487  +
    /// <p>An aggregate status of the resources in the execution based on the status type.</p>
         488  +
    pub fn set_resource_count_by_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         489  +
        self.resource_count_by_status = input;
         490  +
        self
         491  +
    }
         492  +
    /// <p>An aggregate status of the resources in the execution based on the status type.</p>
         493  +
    pub fn get_resource_count_by_status(&self) -> &::std::option::Option<::std::string::String> {
         494  +
        &self.resource_count_by_status
         495  +
    }
         496  +
    /// <p>The details for the CloudWatch alarm you want to apply to an automation or command.</p>
         497  +
    pub fn alarm_configuration(mut self, input: crate::types::AlarmConfiguration) -> Self {
         498  +
        self.alarm_configuration = ::std::option::Option::Some(input);
         499  +
        self
         500  +
    }
         501  +
    /// <p>The details for the CloudWatch alarm you want to apply to an automation or command.</p>
         502  +
    pub fn set_alarm_configuration(mut self, input: ::std::option::Option<crate::types::AlarmConfiguration>) -> Self {
         503  +
        self.alarm_configuration = input;
         504  +
        self
         505  +
    }
         506  +
    /// <p>The details for the CloudWatch alarm you want to apply to an automation or command.</p>
         507  +
    pub fn get_alarm_configuration(&self) -> &::std::option::Option<crate::types::AlarmConfiguration> {
         508  +
        &self.alarm_configuration
         509  +
    }
         510  +
    /// Appends an item to `triggered_alarms`.
         511  +
    ///
         512  +
    /// To override the contents of this collection use [`set_triggered_alarms`](Self::set_triggered_alarms).
         513  +
    ///
         514  +
    /// <p>The CloudWatch alarms that were invoked by the association.</p>
         515  +
    pub fn triggered_alarms(mut self, input: crate::types::AlarmStateInformation) -> Self {
         516  +
        let mut v = self.triggered_alarms.unwrap_or_default();
         517  +
        v.push(input);
         518  +
        self.triggered_alarms = ::std::option::Option::Some(v);
         519  +
        self
         520  +
    }
         521  +
    /// <p>The CloudWatch alarms that were invoked by the association.</p>
         522  +
    pub fn set_triggered_alarms(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AlarmStateInformation>>) -> Self {
         523  +
        self.triggered_alarms = input;
         524  +
        self
         525  +
    }
         526  +
    /// <p>The CloudWatch alarms that were invoked by the association.</p>
         527  +
    pub fn get_triggered_alarms(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AlarmStateInformation>> {
         528  +
        &self.triggered_alarms
         529  +
    }
         530  +
    /// Consumes the builder and constructs a [`AssociationExecution`](crate::types::AssociationExecution).
         531  +
    pub fn build(self) -> crate::types::AssociationExecution {
         532  +
        crate::types::AssociationExecution {
         533  +
            association_id: self.association_id,
         534  +
            association_version: self.association_version,
         535  +
            execution_id: self.execution_id,
         536  +
            status: self.status,
         537  +
            detailed_status: self.detailed_status,
         538  +
            created_time: self.created_time,
         539  +
            last_execution_date: self.last_execution_date,
         540  +
            resource_count_by_status: self.resource_count_by_status,
         541  +
            alarm_configuration: self.alarm_configuration,
         542  +
            triggered_alarms: self.triggered_alarms,
         543  +
        }
         544  +
    }
         545  +
}

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

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

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

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

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

@@ -0,1 +0,472 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>Includes information about the specified association execution.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub struct AssociationExecutionTarget {
           7  +
    /// <p>The association ID.</p>
           8  +
    pub association_id: ::std::option::Option<::std::string::String>,
           9  +
    /// <p>The association version.</p>
          10  +
    pub association_version: ::std::option::Option<::std::string::String>,
          11  +
    /// <p>The execution ID.</p>
          12  +
    pub execution_id: ::std::option::Option<::std::string::String>,
          13  +
    /// <p>The resource ID, for example, the managed node ID where the association ran.</p>
          14  +
    pub resource_id: ::std::option::Option<::std::string::String>,
          15  +
    /// <p>The resource type, for example, EC2.</p>
          16  +
    pub resource_type: ::std::option::Option<::std::string::String>,
          17  +
    /// <p>The association execution status.</p>
          18  +
    pub status: ::std::option::Option<::std::string::String>,
          19  +
    /// <p>Detailed information about the execution status.</p>
          20  +
    pub detailed_status: ::std::option::Option<::std::string::String>,
          21  +
    /// <p>The date of the last execution.</p>
          22  +
    pub last_execution_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          23  +
    /// <p>The location where the association details are saved.</p>
          24  +
    pub output_source: ::std::option::Option<crate::types::OutputSource>,
          25  +
}
          26  +
impl AssociationExecutionTarget {
          27  +
    /// <p>The association ID.</p>
          28  +
    pub fn association_id(&self) -> ::std::option::Option<&str> {
          29  +
        self.association_id.as_deref()
          30  +
    }
          31  +
    /// <p>The association version.</p>
          32  +
    pub fn association_version(&self) -> ::std::option::Option<&str> {
          33  +
        self.association_version.as_deref()
          34  +
    }
          35  +
    /// <p>The execution ID.</p>
          36  +
    pub fn execution_id(&self) -> ::std::option::Option<&str> {
          37  +
        self.execution_id.as_deref()
          38  +
    }
          39  +
    /// <p>The resource ID, for example, the managed node ID where the association ran.</p>
          40  +
    pub fn resource_id(&self) -> ::std::option::Option<&str> {
          41  +
        self.resource_id.as_deref()
          42  +
    }
          43  +
    /// <p>The resource type, for example, EC2.</p>
          44  +
    pub fn resource_type(&self) -> ::std::option::Option<&str> {
          45  +
        self.resource_type.as_deref()
          46  +
    }
          47  +
    /// <p>The association execution status.</p>
          48  +
    pub fn status(&self) -> ::std::option::Option<&str> {
          49  +
        self.status.as_deref()
          50  +
    }
          51  +
    /// <p>Detailed information about the execution status.</p>
          52  +
    pub fn detailed_status(&self) -> ::std::option::Option<&str> {
          53  +
        self.detailed_status.as_deref()
          54  +
    }
          55  +
    /// <p>The date of the last execution.</p>
          56  +
    pub fn last_execution_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          57  +
        self.last_execution_date.as_ref()
          58  +
    }
          59  +
    /// <p>The location where the association details are saved.</p>
          60  +
    pub fn output_source(&self) -> ::std::option::Option<&crate::types::OutputSource> {
          61  +
        self.output_source.as_ref()
          62  +
    }
          63  +
}
          64  +
static ASSOCIATIONEXECUTIONTARGET_MEMBER_ASSOCIATION_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          65  +
    ::aws_smithy_schema::ShapeId::from_parts(
          66  +
        "com.amazonaws.ssm#AssociationExecutionTarget$AssociationId",
          67  +
        "com.amazonaws.ssm",
          68  +
        "AssociationExecutionTarget",
          69  +
    ),
          70  +
    ::aws_smithy_schema::ShapeType::String,
          71  +
    "AssociationId",
          72  +
    0,
          73  +
);
          74  +
static ASSOCIATIONEXECUTIONTARGET_MEMBER_ASSOCIATION_VERSION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          75  +
    ::aws_smithy_schema::ShapeId::from_parts(
          76  +
        "com.amazonaws.ssm#AssociationExecutionTarget$AssociationVersion",
          77  +
        "com.amazonaws.ssm",
          78  +
        "AssociationExecutionTarget",
          79  +
    ),
          80  +
    ::aws_smithy_schema::ShapeType::String,
          81  +
    "AssociationVersion",
          82  +
    1,
          83  +
);
          84  +
static ASSOCIATIONEXECUTIONTARGET_MEMBER_EXECUTION_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          85  +
    ::aws_smithy_schema::ShapeId::from_parts(
          86  +
        "com.amazonaws.ssm#AssociationExecutionTarget$ExecutionId",
          87  +
        "com.amazonaws.ssm",
          88  +
        "AssociationExecutionTarget",
          89  +
    ),
          90  +
    ::aws_smithy_schema::ShapeType::String,
          91  +
    "ExecutionId",
          92  +
    2,
          93  +
);
          94  +
static ASSOCIATIONEXECUTIONTARGET_MEMBER_RESOURCE_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          95  +
    ::aws_smithy_schema::ShapeId::from_parts(
          96  +
        "com.amazonaws.ssm#AssociationExecutionTarget$ResourceId",
          97  +
        "com.amazonaws.ssm",
          98  +
        "AssociationExecutionTarget",
          99  +
    ),
         100  +
    ::aws_smithy_schema::ShapeType::String,
         101  +
    "ResourceId",
         102  +
    3,
         103  +
);
         104  +
static ASSOCIATIONEXECUTIONTARGET_MEMBER_RESOURCE_TYPE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         105  +
    ::aws_smithy_schema::ShapeId::from_parts(
         106  +
        "com.amazonaws.ssm#AssociationExecutionTarget$ResourceType",
         107  +
        "com.amazonaws.ssm",
         108  +
        "AssociationExecutionTarget",
         109  +
    ),
         110  +
    ::aws_smithy_schema::ShapeType::String,
         111  +
    "ResourceType",
         112  +
    4,
         113  +
);
         114  +
static ASSOCIATIONEXECUTIONTARGET_MEMBER_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         115  +
    ::aws_smithy_schema::ShapeId::from_parts(
         116  +
        "com.amazonaws.ssm#AssociationExecutionTarget$Status",
         117  +
        "com.amazonaws.ssm",
         118  +
        "AssociationExecutionTarget",
         119  +
    ),
         120  +
    ::aws_smithy_schema::ShapeType::String,
         121  +
    "Status",
         122  +
    5,
         123  +
);
         124  +
static ASSOCIATIONEXECUTIONTARGET_MEMBER_DETAILED_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         125  +
    ::aws_smithy_schema::ShapeId::from_parts(
         126  +
        "com.amazonaws.ssm#AssociationExecutionTarget$DetailedStatus",
         127  +
        "com.amazonaws.ssm",
         128  +
        "AssociationExecutionTarget",
         129  +
    ),
         130  +
    ::aws_smithy_schema::ShapeType::String,
         131  +
    "DetailedStatus",
         132  +
    6,
         133  +
);
         134  +
static ASSOCIATIONEXECUTIONTARGET_MEMBER_LAST_EXECUTION_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         135  +
    ::aws_smithy_schema::ShapeId::from_parts(
         136  +
        "com.amazonaws.ssm#AssociationExecutionTarget$LastExecutionDate",
         137  +
        "com.amazonaws.ssm",
         138  +
        "AssociationExecutionTarget",
         139  +
    ),
         140  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         141  +
    "LastExecutionDate",
         142  +
    7,
         143  +
);
         144  +
static ASSOCIATIONEXECUTIONTARGET_MEMBER_OUTPUT_SOURCE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         145  +
    ::aws_smithy_schema::ShapeId::from_parts(
         146  +
        "com.amazonaws.ssm#AssociationExecutionTarget$OutputSource",
         147  +
        "com.amazonaws.ssm",
         148  +
        "AssociationExecutionTarget",
         149  +
    ),
         150  +
    ::aws_smithy_schema::ShapeType::Structure,
         151  +
    "OutputSource",
         152  +
    8,
         153  +
);
         154  +
static ASSOCIATIONEXECUTIONTARGET_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         155  +
    ::aws_smithy_schema::ShapeId::from_parts(
         156  +
        "com.amazonaws.ssm#AssociationExecutionTarget",
         157  +
        "com.amazonaws.ssm",
         158  +
        "AssociationExecutionTarget",
         159  +
    ),
         160  +
    ::aws_smithy_schema::ShapeType::Structure,
         161  +
    &[
         162  +
        &ASSOCIATIONEXECUTIONTARGET_MEMBER_ASSOCIATION_ID,
         163  +
        &ASSOCIATIONEXECUTIONTARGET_MEMBER_ASSOCIATION_VERSION,
         164  +
        &ASSOCIATIONEXECUTIONTARGET_MEMBER_EXECUTION_ID,
         165  +
        &ASSOCIATIONEXECUTIONTARGET_MEMBER_RESOURCE_ID,
         166  +
        &ASSOCIATIONEXECUTIONTARGET_MEMBER_RESOURCE_TYPE,
         167  +
        &ASSOCIATIONEXECUTIONTARGET_MEMBER_STATUS,
         168  +
        &ASSOCIATIONEXECUTIONTARGET_MEMBER_DETAILED_STATUS,
         169  +
        &ASSOCIATIONEXECUTIONTARGET_MEMBER_LAST_EXECUTION_DATE,
         170  +
        &ASSOCIATIONEXECUTIONTARGET_MEMBER_OUTPUT_SOURCE,
         171  +
    ],
         172  +
);
         173  +
impl AssociationExecutionTarget {
         174  +
    /// The schema for this shape.
         175  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &ASSOCIATIONEXECUTIONTARGET_SCHEMA;
         176  +
}
         177  +
impl ::aws_smithy_schema::serde::SerializableStruct for AssociationExecutionTarget {
         178  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         179  +
    fn serialize_members(
         180  +
        &self,
         181  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         182  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         183  +
        if let Some(ref val) = self.association_id {
         184  +
            ser.write_string(&ASSOCIATIONEXECUTIONTARGET_MEMBER_ASSOCIATION_ID, val)?;
         185  +
        }
         186  +
        if let Some(ref val) = self.association_version {
         187  +
            ser.write_string(&ASSOCIATIONEXECUTIONTARGET_MEMBER_ASSOCIATION_VERSION, val)?;
         188  +
        }
         189  +
        if let Some(ref val) = self.execution_id {
         190  +
            ser.write_string(&ASSOCIATIONEXECUTIONTARGET_MEMBER_EXECUTION_ID, val)?;
         191  +
        }
         192  +
        if let Some(ref val) = self.resource_id {
         193  +
            ser.write_string(&ASSOCIATIONEXECUTIONTARGET_MEMBER_RESOURCE_ID, val)?;
         194  +
        }
         195  +
        if let Some(ref val) = self.resource_type {
         196  +
            ser.write_string(&ASSOCIATIONEXECUTIONTARGET_MEMBER_RESOURCE_TYPE, val)?;
         197  +
        }
         198  +
        if let Some(ref val) = self.status {
         199  +
            ser.write_string(&ASSOCIATIONEXECUTIONTARGET_MEMBER_STATUS, val)?;
         200  +
        }
         201  +
        if let Some(ref val) = self.detailed_status {
         202  +
            ser.write_string(&ASSOCIATIONEXECUTIONTARGET_MEMBER_DETAILED_STATUS, val)?;
         203  +
        }
         204  +
        if let Some(ref val) = self.last_execution_date {
         205  +
            ser.write_timestamp(&ASSOCIATIONEXECUTIONTARGET_MEMBER_LAST_EXECUTION_DATE, val)?;
         206  +
        }
         207  +
        if let Some(ref val) = self.output_source {
         208  +
            ser.write_struct(&ASSOCIATIONEXECUTIONTARGET_MEMBER_OUTPUT_SOURCE, val)?;
         209  +
        }
         210  +
        Ok(())
         211  +
    }
         212  +
}
         213  +
impl AssociationExecutionTarget {
         214  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         215  +
    pub fn deserialize(
         216  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         217  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         218  +
        #[allow(unused_variables, unused_mut)]
         219  +
        let mut builder = Self::builder();
         220  +
        #[allow(
         221  +
            unused_variables,
         222  +
            unreachable_code,
         223  +
            clippy::single_match,
         224  +
            clippy::match_single_binding,
         225  +
            clippy::diverging_sub_expression
         226  +
        )]
         227  +
        deserializer.read_struct(&ASSOCIATIONEXECUTIONTARGET_SCHEMA, &mut |member, deser| {
         228  +
            match member.member_index() {
         229  +
                Some(0) => {
         230  +
                    if deser.is_null() {
         231  +
                        deser.read_null()?;
         232  +
                    } else {
         233  +
                        builder.association_id = Some(deser.read_string(member)?);
         234  +
                    }
         235  +
                }
         236  +
                Some(1) => {
         237  +
                    if deser.is_null() {
         238  +
                        deser.read_null()?;
         239  +
                    } else {
         240  +
                        builder.association_version = Some(deser.read_string(member)?);
         241  +
                    }
         242  +
                }
         243  +
                Some(2) => {
         244  +
                    if deser.is_null() {
         245  +
                        deser.read_null()?;
         246  +
                    } else {
         247  +
                        builder.execution_id = Some(deser.read_string(member)?);
         248  +
                    }
         249  +
                }
         250  +
                Some(3) => {
         251  +
                    if deser.is_null() {
         252  +
                        deser.read_null()?;
         253  +
                    } else {
         254  +
                        builder.resource_id = Some(deser.read_string(member)?);
         255  +
                    }
         256  +
                }
         257  +
                Some(4) => {
         258  +
                    if deser.is_null() {
         259  +
                        deser.read_null()?;
         260  +
                    } else {
         261  +
                        builder.resource_type = Some(deser.read_string(member)?);
         262  +
                    }
         263  +
                }
         264  +
                Some(5) => {
         265  +
                    if deser.is_null() {
         266  +
                        deser.read_null()?;
         267  +
                    } else {
         268  +
                        builder.status = Some(deser.read_string(member)?);
         269  +
                    }
         270  +
                }
         271  +
                Some(6) => {
         272  +
                    if deser.is_null() {
         273  +
                        deser.read_null()?;
         274  +
                    } else {
         275  +
                        builder.detailed_status = Some(deser.read_string(member)?);
         276  +
                    }
         277  +
                }
         278  +
                Some(7) => {
         279  +
                    if deser.is_null() {
         280  +
                        deser.read_null()?;
         281  +
                    } else {
         282  +
                        builder.last_execution_date = Some(deser.read_timestamp(member)?);
         283  +
                    }
         284  +
                }
         285  +
                Some(8) => {
         286  +
                    if deser.is_null() {
         287  +
                        deser.read_null()?;
         288  +
                    } else {
         289  +
                        builder.output_source = Some(crate::types::OutputSource::deserialize(deser)?);
         290  +
                    }
         291  +
                }
         292  +
                _ => {}
         293  +
            }
         294  +
            Ok(())
         295  +
        })?;
         296  +
        Ok(builder.build())
         297  +
    }
         298  +
}
         299  +
impl AssociationExecutionTarget {
         300  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         301  +
    pub fn deserialize_with_response(
         302  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         303  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         304  +
        _status: u16,
         305  +
        _body: &[u8],
         306  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         307  +
        Self::deserialize(deserializer)
         308  +
    }
         309  +
}
         310  +
impl AssociationExecutionTarget {
         311  +
    /// Creates a new builder-style object to manufacture [`AssociationExecutionTarget`](crate::types::AssociationExecutionTarget).
         312  +
    pub fn builder() -> crate::types::builders::AssociationExecutionTargetBuilder {
         313  +
        crate::types::builders::AssociationExecutionTargetBuilder::default()
         314  +
    }
         315  +
}
         316  +
         317  +
/// A builder for [`AssociationExecutionTarget`](crate::types::AssociationExecutionTarget).
         318  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         319  +
#[non_exhaustive]
         320  +
pub struct AssociationExecutionTargetBuilder {
         321  +
    pub(crate) association_id: ::std::option::Option<::std::string::String>,
         322  +
    pub(crate) association_version: ::std::option::Option<::std::string::String>,
         323  +
    pub(crate) execution_id: ::std::option::Option<::std::string::String>,
         324  +
    pub(crate) resource_id: ::std::option::Option<::std::string::String>,
         325  +
    pub(crate) resource_type: ::std::option::Option<::std::string::String>,
         326  +
    pub(crate) status: ::std::option::Option<::std::string::String>,
         327  +
    pub(crate) detailed_status: ::std::option::Option<::std::string::String>,
         328  +
    pub(crate) last_execution_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         329  +
    pub(crate) output_source: ::std::option::Option<crate::types::OutputSource>,
         330  +
}
         331  +
impl AssociationExecutionTargetBuilder {
         332  +
    /// <p>The association ID.</p>
         333  +
    pub fn association_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         334  +
        self.association_id = ::std::option::Option::Some(input.into());
         335  +
        self
         336  +
    }
         337  +
    /// <p>The association ID.</p>
         338  +
    pub fn set_association_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         339  +
        self.association_id = input;
         340  +
        self
         341  +
    }
         342  +
    /// <p>The association ID.</p>
         343  +
    pub fn get_association_id(&self) -> &::std::option::Option<::std::string::String> {
         344  +
        &self.association_id
         345  +
    }
         346  +
    /// <p>The association version.</p>
         347  +
    pub fn association_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         348  +
        self.association_version = ::std::option::Option::Some(input.into());
         349  +
        self
         350  +
    }
         351  +
    /// <p>The association version.</p>
         352  +
    pub fn set_association_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         353  +
        self.association_version = input;
         354  +
        self
         355  +
    }
         356  +
    /// <p>The association version.</p>
         357  +
    pub fn get_association_version(&self) -> &::std::option::Option<::std::string::String> {
         358  +
        &self.association_version
         359  +
    }
         360  +
    /// <p>The execution ID.</p>
         361  +
    pub fn execution_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         362  +
        self.execution_id = ::std::option::Option::Some(input.into());
         363  +
        self
         364  +
    }
         365  +
    /// <p>The execution ID.</p>
         366  +
    pub fn set_execution_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         367  +
        self.execution_id = input;
         368  +
        self
         369  +
    }
         370  +
    /// <p>The execution ID.</p>
         371  +
    pub fn get_execution_id(&self) -> &::std::option::Option<::std::string::String> {
         372  +
        &self.execution_id
         373  +
    }
         374  +
    /// <p>The resource ID, for example, the managed node ID where the association ran.</p>
         375  +
    pub fn resource_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         376  +
        self.resource_id = ::std::option::Option::Some(input.into());
         377  +
        self
         378  +
    }
         379  +
    /// <p>The resource ID, for example, the managed node ID where the association ran.</p>
         380  +
    pub fn set_resource_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         381  +
        self.resource_id = input;
         382  +
        self
         383  +
    }
         384  +
    /// <p>The resource ID, for example, the managed node ID where the association ran.</p>
         385  +
    pub fn get_resource_id(&self) -> &::std::option::Option<::std::string::String> {
         386  +
        &self.resource_id
         387  +
    }
         388  +
    /// <p>The resource type, for example, EC2.</p>
         389  +
    pub fn resource_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         390  +
        self.resource_type = ::std::option::Option::Some(input.into());
         391  +
        self
         392  +
    }
         393  +
    /// <p>The resource type, for example, EC2.</p>
         394  +
    pub fn set_resource_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         395  +
        self.resource_type = input;
         396  +
        self
         397  +
    }
         398  +
    /// <p>The resource type, for example, EC2.</p>
         399  +
    pub fn get_resource_type(&self) -> &::std::option::Option<::std::string::String> {
         400  +
        &self.resource_type
         401  +
    }
         402  +
    /// <p>The association execution status.</p>
         403  +
    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         404  +
        self.status = ::std::option::Option::Some(input.into());
         405  +
        self
         406  +
    }
         407  +
    /// <p>The association execution status.</p>
         408  +
    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         409  +
        self.status = input;
         410  +
        self
         411  +
    }
         412  +
    /// <p>The association execution status.</p>
         413  +
    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
         414  +
        &self.status
         415  +
    }
         416  +
    /// <p>Detailed information about the execution status.</p>
         417  +
    pub fn detailed_status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         418  +
        self.detailed_status = ::std::option::Option::Some(input.into());
         419  +
        self
         420  +
    }
         421  +
    /// <p>Detailed information about the execution status.</p>
         422  +
    pub fn set_detailed_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         423  +
        self.detailed_status = input;
         424  +
        self
         425  +
    }
         426  +
    /// <p>Detailed information about the execution status.</p>
         427  +
    pub fn get_detailed_status(&self) -> &::std::option::Option<::std::string::String> {
         428  +
        &self.detailed_status
         429  +
    }
         430  +
    /// <p>The date of the last execution.</p>
         431  +
    pub fn last_execution_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         432  +
        self.last_execution_date = ::std::option::Option::Some(input);
         433  +
        self
         434  +
    }
         435  +
    /// <p>The date of the last execution.</p>
         436  +
    pub fn set_last_execution_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         437  +
        self.last_execution_date = input;
         438  +
        self
         439  +
    }
         440  +
    /// <p>The date of the last execution.</p>
         441  +
    pub fn get_last_execution_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         442  +
        &self.last_execution_date
         443  +
    }
         444  +
    /// <p>The location where the association details are saved.</p>
         445  +
    pub fn output_source(mut self, input: crate::types::OutputSource) -> Self {
         446  +
        self.output_source = ::std::option::Option::Some(input);
         447  +
        self
         448  +
    }
         449  +
    /// <p>The location where the association details are saved.</p>
         450  +
    pub fn set_output_source(mut self, input: ::std::option::Option<crate::types::OutputSource>) -> Self {
         451  +
        self.output_source = input;
         452  +
        self
         453  +
    }
         454  +
    /// <p>The location where the association details are saved.</p>
         455  +
    pub fn get_output_source(&self) -> &::std::option::Option<crate::types::OutputSource> {
         456  +
        &self.output_source
         457  +
    }
         458  +
    /// Consumes the builder and constructs a [`AssociationExecutionTarget`](crate::types::AssociationExecutionTarget).
         459  +
    pub fn build(self) -> crate::types::AssociationExecutionTarget {
         460  +
        crate::types::AssociationExecutionTarget {
         461  +
            association_id: self.association_id,
         462  +
            association_version: self.association_version,
         463  +
            execution_id: self.execution_id,
         464  +
            resource_id: self.resource_id,
         465  +
            resource_type: self.resource_type,
         466  +
            status: self.status,
         467  +
            detailed_status: self.detailed_status,
         468  +
            last_execution_date: self.last_execution_date,
         469  +
            output_source: self.output_source,
         470  +
        }
         471  +
    }
         472  +
}