AWS SDK

AWS SDK

rev. bbca34fa2eddb4be623fbbc6b6df1a2401de0029

Files changed:

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

@@ -0,1 +0,715 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
#[non_exhaustive]
           4  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
           5  +
pub struct UpdateMaintenanceWindowInput {
           6  +
    /// <p>The ID of the maintenance window to update.</p>
           7  +
    pub window_id: ::std::option::Option<::std::string::String>,
           8  +
    /// <p>The name of the maintenance window.</p>
           9  +
    pub name: ::std::option::Option<::std::string::String>,
          10  +
    /// <p>An optional description for the update request.</p>
          11  +
    pub description: ::std::option::Option<::std::string::String>,
          12  +
    /// <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. <code>StartDate</code> allows you to delay activation of the maintenance window until the specified future date.</p><note>
          13  +
    /// <p>When using a rate schedule, if you provide a start date that occurs in the past, the current date and time are used as the start date.</p>
          14  +
    /// </note>
          15  +
    pub start_date: ::std::option::Option<::std::string::String>,
          16  +
    /// <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. <code>EndDate</code> allows you to set a date and time in the future when the maintenance window will no longer run.</p>
          17  +
    pub end_date: ::std::option::Option<::std::string::String>,
          18  +
    /// <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
          19  +
    pub schedule: ::std::option::Option<::std::string::String>,
          20  +
    /// <p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA website.</p>
          21  +
    pub schedule_timezone: ::std::option::Option<::std::string::String>,
          22  +
    /// <p>The number of days to wait after the date and time specified by a cron expression before running the maintenance window.</p>
          23  +
    /// <p>For example, the following cron expression schedules a maintenance window to run the third Tuesday of every month at 11:30 PM.</p>
          24  +
    /// <p><code>cron(30 23 ? * TUE#3 *)</code></p>
          25  +
    /// <p>If the schedule offset is <code>2</code>, the maintenance window won't run until two days later.</p>
          26  +
    pub schedule_offset: ::std::option::Option<i32>,
          27  +
    /// <p>The duration of the maintenance window in hours.</p>
          28  +
    pub duration: ::std::option::Option<i32>,
          29  +
    /// <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>
          30  +
    pub cutoff: ::std::option::Option<i32>,
          31  +
    /// <p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>
          32  +
    pub allow_unassociated_targets: ::std::option::Option<bool>,
          33  +
    /// <p>Whether the maintenance window is enabled.</p>
          34  +
    pub enabled: ::std::option::Option<bool>,
          35  +
    /// <p>If <code>True</code>, then all fields that are required by the <code>CreateMaintenanceWindow</code> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>
          36  +
    pub replace: ::std::option::Option<bool>,
          37  +
}
          38  +
impl UpdateMaintenanceWindowInput {
          39  +
    /// <p>The ID of the maintenance window to update.</p>
          40  +
    pub fn window_id(&self) -> ::std::option::Option<&str> {
          41  +
        self.window_id.as_deref()
          42  +
    }
          43  +
    /// <p>The name of the maintenance window.</p>
          44  +
    pub fn name(&self) -> ::std::option::Option<&str> {
          45  +
        self.name.as_deref()
          46  +
    }
          47  +
    /// <p>An optional description for the update request.</p>
          48  +
    pub fn description(&self) -> ::std::option::Option<&str> {
          49  +
        self.description.as_deref()
          50  +
    }
          51  +
    /// <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. <code>StartDate</code> allows you to delay activation of the maintenance window until the specified future date.</p><note>
          52  +
    /// <p>When using a rate schedule, if you provide a start date that occurs in the past, the current date and time are used as the start date.</p>
          53  +
    /// </note>
          54  +
    pub fn start_date(&self) -> ::std::option::Option<&str> {
          55  +
        self.start_date.as_deref()
          56  +
    }
          57  +
    /// <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. <code>EndDate</code> allows you to set a date and time in the future when the maintenance window will no longer run.</p>
          58  +
    pub fn end_date(&self) -> ::std::option::Option<&str> {
          59  +
        self.end_date.as_deref()
          60  +
    }
          61  +
    /// <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
          62  +
    pub fn schedule(&self) -> ::std::option::Option<&str> {
          63  +
        self.schedule.as_deref()
          64  +
    }
          65  +
    /// <p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA website.</p>
          66  +
    pub fn schedule_timezone(&self) -> ::std::option::Option<&str> {
          67  +
        self.schedule_timezone.as_deref()
          68  +
    }
          69  +
    /// <p>The number of days to wait after the date and time specified by a cron expression before running the maintenance window.</p>
          70  +
    /// <p>For example, the following cron expression schedules a maintenance window to run the third Tuesday of every month at 11:30 PM.</p>
          71  +
    /// <p><code>cron(30 23 ? * TUE#3 *)</code></p>
          72  +
    /// <p>If the schedule offset is <code>2</code>, the maintenance window won't run until two days later.</p>
          73  +
    pub fn schedule_offset(&self) -> ::std::option::Option<i32> {
          74  +
        self.schedule_offset
          75  +
    }
          76  +
    /// <p>The duration of the maintenance window in hours.</p>
          77  +
    pub fn duration(&self) -> ::std::option::Option<i32> {
          78  +
        self.duration
          79  +
    }
          80  +
    /// <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>
          81  +
    pub fn cutoff(&self) -> ::std::option::Option<i32> {
          82  +
        self.cutoff
          83  +
    }
          84  +
    /// <p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>
          85  +
    pub fn allow_unassociated_targets(&self) -> ::std::option::Option<bool> {
          86  +
        self.allow_unassociated_targets
          87  +
    }
          88  +
    /// <p>Whether the maintenance window is enabled.</p>
          89  +
    pub fn enabled(&self) -> ::std::option::Option<bool> {
          90  +
        self.enabled
          91  +
    }
          92  +
    /// <p>If <code>True</code>, then all fields that are required by the <code>CreateMaintenanceWindow</code> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>
          93  +
    pub fn replace(&self) -> ::std::option::Option<bool> {
          94  +
        self.replace
          95  +
    }
          96  +
}
          97  +
impl ::std::fmt::Debug for UpdateMaintenanceWindowInput {
          98  +
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
          99  +
        let mut formatter = f.debug_struct("UpdateMaintenanceWindowInput");
         100  +
        formatter.field("window_id", &self.window_id);
         101  +
        formatter.field("name", &self.name);
         102  +
        formatter.field("description", &"*** Sensitive Data Redacted ***");
         103  +
        formatter.field("start_date", &self.start_date);
         104  +
        formatter.field("end_date", &self.end_date);
         105  +
        formatter.field("schedule", &self.schedule);
         106  +
        formatter.field("schedule_timezone", &self.schedule_timezone);
         107  +
        formatter.field("schedule_offset", &self.schedule_offset);
         108  +
        formatter.field("duration", &self.duration);
         109  +
        formatter.field("cutoff", &self.cutoff);
         110  +
        formatter.field("allow_unassociated_targets", &self.allow_unassociated_targets);
         111  +
        formatter.field("enabled", &self.enabled);
         112  +
        formatter.field("replace", &self.replace);
         113  +
        formatter.finish()
         114  +
    }
         115  +
}
         116  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_WINDOW_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         117  +
    ::aws_smithy_schema::ShapeId::from_parts(
         118  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$WindowId",
         119  +
        "com.amazonaws.ssm.synthetic",
         120  +
        "UpdateMaintenanceWindowInput",
         121  +
    ),
         122  +
    ::aws_smithy_schema::ShapeType::String,
         123  +
    "WindowId",
         124  +
    0,
         125  +
);
         126  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         127  +
    ::aws_smithy_schema::ShapeId::from_parts(
         128  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$Name",
         129  +
        "com.amazonaws.ssm.synthetic",
         130  +
        "UpdateMaintenanceWindowInput",
         131  +
    ),
         132  +
    ::aws_smithy_schema::ShapeType::String,
         133  +
    "Name",
         134  +
    1,
         135  +
);
         136  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         137  +
    ::aws_smithy_schema::ShapeId::from_parts(
         138  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$Description",
         139  +
        "com.amazonaws.ssm.synthetic",
         140  +
        "UpdateMaintenanceWindowInput",
         141  +
    ),
         142  +
    ::aws_smithy_schema::ShapeType::String,
         143  +
    "Description",
         144  +
    2,
         145  +
);
         146  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_START_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         147  +
    ::aws_smithy_schema::ShapeId::from_parts(
         148  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$StartDate",
         149  +
        "com.amazonaws.ssm.synthetic",
         150  +
        "UpdateMaintenanceWindowInput",
         151  +
    ),
         152  +
    ::aws_smithy_schema::ShapeType::String,
         153  +
    "StartDate",
         154  +
    3,
         155  +
);
         156  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_END_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         157  +
    ::aws_smithy_schema::ShapeId::from_parts(
         158  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$EndDate",
         159  +
        "com.amazonaws.ssm.synthetic",
         160  +
        "UpdateMaintenanceWindowInput",
         161  +
    ),
         162  +
    ::aws_smithy_schema::ShapeType::String,
         163  +
    "EndDate",
         164  +
    4,
         165  +
);
         166  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_SCHEDULE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         167  +
    ::aws_smithy_schema::ShapeId::from_parts(
         168  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$Schedule",
         169  +
        "com.amazonaws.ssm.synthetic",
         170  +
        "UpdateMaintenanceWindowInput",
         171  +
    ),
         172  +
    ::aws_smithy_schema::ShapeType::String,
         173  +
    "Schedule",
         174  +
    5,
         175  +
);
         176  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_SCHEDULE_TIMEZONE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         177  +
    ::aws_smithy_schema::ShapeId::from_parts(
         178  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$ScheduleTimezone",
         179  +
        "com.amazonaws.ssm.synthetic",
         180  +
        "UpdateMaintenanceWindowInput",
         181  +
    ),
         182  +
    ::aws_smithy_schema::ShapeType::String,
         183  +
    "ScheduleTimezone",
         184  +
    6,
         185  +
);
         186  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_SCHEDULE_OFFSET: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         187  +
    ::aws_smithy_schema::ShapeId::from_parts(
         188  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$ScheduleOffset",
         189  +
        "com.amazonaws.ssm.synthetic",
         190  +
        "UpdateMaintenanceWindowInput",
         191  +
    ),
         192  +
    ::aws_smithy_schema::ShapeType::Integer,
         193  +
    "ScheduleOffset",
         194  +
    7,
         195  +
);
         196  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_DURATION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         197  +
    ::aws_smithy_schema::ShapeId::from_parts(
         198  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$Duration",
         199  +
        "com.amazonaws.ssm.synthetic",
         200  +
        "UpdateMaintenanceWindowInput",
         201  +
    ),
         202  +
    ::aws_smithy_schema::ShapeType::Integer,
         203  +
    "Duration",
         204  +
    8,
         205  +
);
         206  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_CUTOFF: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         207  +
    ::aws_smithy_schema::ShapeId::from_parts(
         208  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$Cutoff",
         209  +
        "com.amazonaws.ssm.synthetic",
         210  +
        "UpdateMaintenanceWindowInput",
         211  +
    ),
         212  +
    ::aws_smithy_schema::ShapeType::Integer,
         213  +
    "Cutoff",
         214  +
    9,
         215  +
);
         216  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_ALLOW_UNASSOCIATED_TARGETS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         217  +
    ::aws_smithy_schema::ShapeId::from_parts(
         218  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$AllowUnassociatedTargets",
         219  +
        "com.amazonaws.ssm.synthetic",
         220  +
        "UpdateMaintenanceWindowInput",
         221  +
    ),
         222  +
    ::aws_smithy_schema::ShapeType::Boolean,
         223  +
    "AllowUnassociatedTargets",
         224  +
    10,
         225  +
);
         226  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_ENABLED: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         227  +
    ::aws_smithy_schema::ShapeId::from_parts(
         228  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$Enabled",
         229  +
        "com.amazonaws.ssm.synthetic",
         230  +
        "UpdateMaintenanceWindowInput",
         231  +
    ),
         232  +
    ::aws_smithy_schema::ShapeType::Boolean,
         233  +
    "Enabled",
         234  +
    11,
         235  +
);
         236  +
static UPDATEMAINTENANCEWINDOWINPUT_MEMBER_REPLACE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         237  +
    ::aws_smithy_schema::ShapeId::from_parts(
         238  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput$Replace",
         239  +
        "com.amazonaws.ssm.synthetic",
         240  +
        "UpdateMaintenanceWindowInput",
         241  +
    ),
         242  +
    ::aws_smithy_schema::ShapeType::Boolean,
         243  +
    "Replace",
         244  +
    12,
         245  +
);
         246  +
static UPDATEMAINTENANCEWINDOWINPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         247  +
    ::aws_smithy_schema::ShapeId::from_parts(
         248  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowInput",
         249  +
        "com.amazonaws.ssm.synthetic",
         250  +
        "UpdateMaintenanceWindowInput",
         251  +
    ),
         252  +
    ::aws_smithy_schema::ShapeType::Structure,
         253  +
    &[
         254  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_WINDOW_ID,
         255  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_NAME,
         256  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_DESCRIPTION,
         257  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_START_DATE,
         258  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_END_DATE,
         259  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_SCHEDULE,
         260  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_SCHEDULE_TIMEZONE,
         261  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_SCHEDULE_OFFSET,
         262  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_DURATION,
         263  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_CUTOFF,
         264  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_ALLOW_UNASSOCIATED_TARGETS,
         265  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_ENABLED,
         266  +
        &UPDATEMAINTENANCEWINDOWINPUT_MEMBER_REPLACE,
         267  +
    ],
         268  +
)
         269  +
.with_payload_hint(::aws_smithy_schema::PayloadHint::NoStructPayload)
         270  +
.with_original_name("UpdateMaintenanceWindowRequest");
         271  +
impl UpdateMaintenanceWindowInput {
         272  +
    /// The schema for this shape.
         273  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &UPDATEMAINTENANCEWINDOWINPUT_SCHEMA;
         274  +
}
         275  +
impl ::aws_smithy_schema::serde::SerializableStruct for UpdateMaintenanceWindowInput {
         276  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         277  +
    fn serialize_members(
         278  +
        &self,
         279  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         280  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         281  +
        if let Some(ref val) = self.window_id {
         282  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_WINDOW_ID, val)?;
         283  +
        }
         284  +
        if let Some(ref val) = self.name {
         285  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_NAME, val)?;
         286  +
        }
         287  +
        if let Some(ref val) = self.description {
         288  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_DESCRIPTION, val)?;
         289  +
        }
         290  +
        if let Some(ref val) = self.start_date {
         291  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_START_DATE, val)?;
         292  +
        }
         293  +
        if let Some(ref val) = self.end_date {
         294  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_END_DATE, val)?;
         295  +
        }
         296  +
        if let Some(ref val) = self.schedule {
         297  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_SCHEDULE, val)?;
         298  +
        }
         299  +
        if let Some(ref val) = self.schedule_timezone {
         300  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_SCHEDULE_TIMEZONE, val)?;
         301  +
        }
         302  +
        if let Some(ref val) = self.schedule_offset {
         303  +
            ser.write_integer(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_SCHEDULE_OFFSET, *val)?;
         304  +
        }
         305  +
        if let Some(ref val) = self.duration {
         306  +
            ser.write_integer(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_DURATION, *val)?;
         307  +
        }
         308  +
        if let Some(ref val) = self.cutoff {
         309  +
            ser.write_integer(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_CUTOFF, *val)?;
         310  +
        }
         311  +
        if let Some(ref val) = self.allow_unassociated_targets {
         312  +
            ser.write_boolean(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_ALLOW_UNASSOCIATED_TARGETS, *val)?;
         313  +
        }
         314  +
        if let Some(ref val) = self.enabled {
         315  +
            ser.write_boolean(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_ENABLED, *val)?;
         316  +
        }
         317  +
        if let Some(ref val) = self.replace {
         318  +
            ser.write_boolean(&UPDATEMAINTENANCEWINDOWINPUT_MEMBER_REPLACE, *val)?;
         319  +
        }
         320  +
        Ok(())
         321  +
    }
         322  +
}
         323  +
impl UpdateMaintenanceWindowInput {
         324  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         325  +
    pub fn deserialize(
         326  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         327  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         328  +
        #[allow(unused_variables, unused_mut)]
         329  +
        let mut builder = Self::builder();
         330  +
        #[allow(
         331  +
            unused_variables,
         332  +
            unreachable_code,
         333  +
            clippy::single_match,
         334  +
            clippy::match_single_binding,
         335  +
            clippy::diverging_sub_expression
         336  +
        )]
         337  +
        deserializer.read_struct(&UPDATEMAINTENANCEWINDOWINPUT_SCHEMA, &mut |member, deser| {
         338  +
            match member.member_index() {
         339  +
                Some(0) => {
         340  +
                    if deser.is_null() {
         341  +
                        deser.read_null()?;
         342  +
                    } else {
         343  +
                        builder.window_id = Some(deser.read_string(member)?);
         344  +
                    }
         345  +
                }
         346  +
                Some(1) => {
         347  +
                    if deser.is_null() {
         348  +
                        deser.read_null()?;
         349  +
                    } else {
         350  +
                        builder.name = Some(deser.read_string(member)?);
         351  +
                    }
         352  +
                }
         353  +
                Some(2) => {
         354  +
                    if deser.is_null() {
         355  +
                        deser.read_null()?;
         356  +
                    } else {
         357  +
                        builder.description = Some(deser.read_string(member)?);
         358  +
                    }
         359  +
                }
         360  +
                Some(3) => {
         361  +
                    if deser.is_null() {
         362  +
                        deser.read_null()?;
         363  +
                    } else {
         364  +
                        builder.start_date = Some(deser.read_string(member)?);
         365  +
                    }
         366  +
                }
         367  +
                Some(4) => {
         368  +
                    if deser.is_null() {
         369  +
                        deser.read_null()?;
         370  +
                    } else {
         371  +
                        builder.end_date = Some(deser.read_string(member)?);
         372  +
                    }
         373  +
                }
         374  +
                Some(5) => {
         375  +
                    if deser.is_null() {
         376  +
                        deser.read_null()?;
         377  +
                    } else {
         378  +
                        builder.schedule = Some(deser.read_string(member)?);
         379  +
                    }
         380  +
                }
         381  +
                Some(6) => {
         382  +
                    if deser.is_null() {
         383  +
                        deser.read_null()?;
         384  +
                    } else {
         385  +
                        builder.schedule_timezone = Some(deser.read_string(member)?);
         386  +
                    }
         387  +
                }
         388  +
                Some(7) => {
         389  +
                    if deser.is_null() {
         390  +
                        deser.read_null()?;
         391  +
                    } else {
         392  +
                        builder.schedule_offset = Some(deser.read_integer(member)?);
         393  +
                    }
         394  +
                }
         395  +
                Some(8) => {
         396  +
                    if deser.is_null() {
         397  +
                        deser.read_null()?;
         398  +
                    } else {
         399  +
                        builder.duration = Some(deser.read_integer(member)?);
         400  +
                    }
         401  +
                }
         402  +
                Some(9) => {
         403  +
                    if deser.is_null() {
         404  +
                        deser.read_null()?;
         405  +
                    } else {
         406  +
                        builder.cutoff = Some(deser.read_integer(member)?);
         407  +
                    }
         408  +
                }
         409  +
                Some(10) => {
         410  +
                    if deser.is_null() {
         411  +
                        deser.read_null()?;
         412  +
                    } else {
         413  +
                        builder.allow_unassociated_targets = Some(deser.read_boolean(member)?);
         414  +
                    }
         415  +
                }
         416  +
                Some(11) => {
         417  +
                    if deser.is_null() {
         418  +
                        deser.read_null()?;
         419  +
                    } else {
         420  +
                        builder.enabled = Some(deser.read_boolean(member)?);
         421  +
                    }
         422  +
                }
         423  +
                Some(12) => {
         424  +
                    if deser.is_null() {
         425  +
                        deser.read_null()?;
         426  +
                    } else {
         427  +
                        builder.replace = Some(deser.read_boolean(member)?);
         428  +
                    }
         429  +
                }
         430  +
                _ => {}
         431  +
            }
         432  +
            Ok(())
         433  +
        })?;
         434  +
        builder.window_id = builder.window_id.or(Some(String::new()));
         435  +
        builder.build().map_err(|e| aws_smithy_schema::serde::SerdeError::custom(e.to_string()))
         436  +
    }
         437  +
}
         438  +
impl UpdateMaintenanceWindowInput {
         439  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         440  +
    pub fn deserialize_with_response(
         441  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         442  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         443  +
        _status: u16,
         444  +
        _body: &[u8],
         445  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         446  +
        Self::deserialize(deserializer)
         447  +
    }
         448  +
}
         449  +
impl UpdateMaintenanceWindowInput {
         450  +
    /// Creates a new builder-style object to manufacture [`UpdateMaintenanceWindowInput`](crate::operation::update_maintenance_window::UpdateMaintenanceWindowInput).
         451  +
    pub fn builder() -> crate::operation::update_maintenance_window::builders::UpdateMaintenanceWindowInputBuilder {
         452  +
        crate::operation::update_maintenance_window::builders::UpdateMaintenanceWindowInputBuilder::default()
         453  +
    }
         454  +
}
         455  +
         456  +
/// A builder for [`UpdateMaintenanceWindowInput`](crate::operation::update_maintenance_window::UpdateMaintenanceWindowInput).
         457  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
         458  +
#[non_exhaustive]
         459  +
pub struct UpdateMaintenanceWindowInputBuilder {
         460  +
    pub(crate) window_id: ::std::option::Option<::std::string::String>,
         461  +
    pub(crate) name: ::std::option::Option<::std::string::String>,
         462  +
    pub(crate) description: ::std::option::Option<::std::string::String>,
         463  +
    pub(crate) start_date: ::std::option::Option<::std::string::String>,
         464  +
    pub(crate) end_date: ::std::option::Option<::std::string::String>,
         465  +
    pub(crate) schedule: ::std::option::Option<::std::string::String>,
         466  +
    pub(crate) schedule_timezone: ::std::option::Option<::std::string::String>,
         467  +
    pub(crate) schedule_offset: ::std::option::Option<i32>,
         468  +
    pub(crate) duration: ::std::option::Option<i32>,
         469  +
    pub(crate) cutoff: ::std::option::Option<i32>,
         470  +
    pub(crate) allow_unassociated_targets: ::std::option::Option<bool>,
         471  +
    pub(crate) enabled: ::std::option::Option<bool>,
         472  +
    pub(crate) replace: ::std::option::Option<bool>,
         473  +
}
         474  +
impl UpdateMaintenanceWindowInputBuilder {
         475  +
    /// <p>The ID of the maintenance window to update.</p>
         476  +
    /// This field is required.
         477  +
    pub fn window_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         478  +
        self.window_id = ::std::option::Option::Some(input.into());
         479  +
        self
         480  +
    }
         481  +
    /// <p>The ID of the maintenance window to update.</p>
         482  +
    pub fn set_window_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         483  +
        self.window_id = input;
         484  +
        self
         485  +
    }
         486  +
    /// <p>The ID of the maintenance window to update.</p>
         487  +
    pub fn get_window_id(&self) -> &::std::option::Option<::std::string::String> {
         488  +
        &self.window_id
         489  +
    }
         490  +
    /// <p>The name of the maintenance window.</p>
         491  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         492  +
        self.name = ::std::option::Option::Some(input.into());
         493  +
        self
         494  +
    }
         495  +
    /// <p>The name of the maintenance window.</p>
         496  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         497  +
        self.name = input;
         498  +
        self
         499  +
    }
         500  +
    /// <p>The name of the maintenance window.</p>
         501  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         502  +
        &self.name
         503  +
    }
         504  +
    /// <p>An optional description for the update request.</p>
         505  +
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         506  +
        self.description = ::std::option::Option::Some(input.into());
         507  +
        self
         508  +
    }
         509  +
    /// <p>An optional description for the update request.</p>
         510  +
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         511  +
        self.description = input;
         512  +
        self
         513  +
    }
         514  +
    /// <p>An optional description for the update request.</p>
         515  +
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
         516  +
        &self.description
         517  +
    }
         518  +
    /// <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. <code>StartDate</code> allows you to delay activation of the maintenance window until the specified future date.</p><note>
         519  +
    /// <p>When using a rate schedule, if you provide a start date that occurs in the past, the current date and time are used as the start date.</p>
         520  +
    /// </note>
         521  +
    pub fn start_date(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         522  +
        self.start_date = ::std::option::Option::Some(input.into());
         523  +
        self
         524  +
    }
         525  +
    /// <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. <code>StartDate</code> allows you to delay activation of the maintenance window until the specified future date.</p><note>
         526  +
    /// <p>When using a rate schedule, if you provide a start date that occurs in the past, the current date and time are used as the start date.</p>
         527  +
    /// </note>
         528  +
    pub fn set_start_date(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         529  +
        self.start_date = input;
         530  +
        self
         531  +
    }
         532  +
    /// <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. <code>StartDate</code> allows you to delay activation of the maintenance window until the specified future date.</p><note>
         533  +
    /// <p>When using a rate schedule, if you provide a start date that occurs in the past, the current date and time are used as the start date.</p>
         534  +
    /// </note>
         535  +
    pub fn get_start_date(&self) -> &::std::option::Option<::std::string::String> {
         536  +
        &self.start_date
         537  +
    }
         538  +
    /// <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. <code>EndDate</code> allows you to set a date and time in the future when the maintenance window will no longer run.</p>
         539  +
    pub fn end_date(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         540  +
        self.end_date = ::std::option::Option::Some(input.into());
         541  +
        self
         542  +
    }
         543  +
    /// <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. <code>EndDate</code> allows you to set a date and time in the future when the maintenance window will no longer run.</p>
         544  +
    pub fn set_end_date(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         545  +
        self.end_date = input;
         546  +
        self
         547  +
    }
         548  +
    /// <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. <code>EndDate</code> allows you to set a date and time in the future when the maintenance window will no longer run.</p>
         549  +
    pub fn get_end_date(&self) -> &::std::option::Option<::std::string::String> {
         550  +
        &self.end_date
         551  +
    }
         552  +
    /// <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
         553  +
    pub fn schedule(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         554  +
        self.schedule = ::std::option::Option::Some(input.into());
         555  +
        self
         556  +
    }
         557  +
    /// <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
         558  +
    pub fn set_schedule(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         559  +
        self.schedule = input;
         560  +
        self
         561  +
    }
         562  +
    /// <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
         563  +
    pub fn get_schedule(&self) -> &::std::option::Option<::std::string::String> {
         564  +
        &self.schedule
         565  +
    }
         566  +
    /// <p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA website.</p>
         567  +
    pub fn schedule_timezone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         568  +
        self.schedule_timezone = ::std::option::Option::Some(input.into());
         569  +
        self
         570  +
    }
         571  +
    /// <p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA website.</p>
         572  +
    pub fn set_schedule_timezone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         573  +
        self.schedule_timezone = input;
         574  +
        self
         575  +
    }
         576  +
    /// <p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA website.</p>
         577  +
    pub fn get_schedule_timezone(&self) -> &::std::option::Option<::std::string::String> {
         578  +
        &self.schedule_timezone
         579  +
    }
         580  +
    /// <p>The number of days to wait after the date and time specified by a cron expression before running the maintenance window.</p>
         581  +
    /// <p>For example, the following cron expression schedules a maintenance window to run the third Tuesday of every month at 11:30 PM.</p>
         582  +
    /// <p><code>cron(30 23 ? * TUE#3 *)</code></p>
         583  +
    /// <p>If the schedule offset is <code>2</code>, the maintenance window won't run until two days later.</p>
         584  +
    pub fn schedule_offset(mut self, input: i32) -> Self {
         585  +
        self.schedule_offset = ::std::option::Option::Some(input);
         586  +
        self
         587  +
    }
         588  +
    /// <p>The number of days to wait after the date and time specified by a cron expression before running the maintenance window.</p>
         589  +
    /// <p>For example, the following cron expression schedules a maintenance window to run the third Tuesday of every month at 11:30 PM.</p>
         590  +
    /// <p><code>cron(30 23 ? * TUE#3 *)</code></p>
         591  +
    /// <p>If the schedule offset is <code>2</code>, the maintenance window won't run until two days later.</p>
         592  +
    pub fn set_schedule_offset(mut self, input: ::std::option::Option<i32>) -> Self {
         593  +
        self.schedule_offset = input;
         594  +
        self
         595  +
    }
         596  +
    /// <p>The number of days to wait after the date and time specified by a cron expression before running the maintenance window.</p>
         597  +
    /// <p>For example, the following cron expression schedules a maintenance window to run the third Tuesday of every month at 11:30 PM.</p>
         598  +
    /// <p><code>cron(30 23 ? * TUE#3 *)</code></p>
         599  +
    /// <p>If the schedule offset is <code>2</code>, the maintenance window won't run until two days later.</p>
         600  +
    pub fn get_schedule_offset(&self) -> &::std::option::Option<i32> {
         601  +
        &self.schedule_offset
         602  +
    }
         603  +
    /// <p>The duration of the maintenance window in hours.</p>
         604  +
    pub fn duration(mut self, input: i32) -> Self {
         605  +
        self.duration = ::std::option::Option::Some(input);
         606  +
        self
         607  +
    }
         608  +
    /// <p>The duration of the maintenance window in hours.</p>
         609  +
    pub fn set_duration(mut self, input: ::std::option::Option<i32>) -> Self {
         610  +
        self.duration = input;
         611  +
        self
         612  +
    }
         613  +
    /// <p>The duration of the maintenance window in hours.</p>
         614  +
    pub fn get_duration(&self) -> &::std::option::Option<i32> {
         615  +
        &self.duration
         616  +
    }
         617  +
    /// <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>
         618  +
    pub fn cutoff(mut self, input: i32) -> Self {
         619  +
        self.cutoff = ::std::option::Option::Some(input);
         620  +
        self
         621  +
    }
         622  +
    /// <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>
         623  +
    pub fn set_cutoff(mut self, input: ::std::option::Option<i32>) -> Self {
         624  +
        self.cutoff = input;
         625  +
        self
         626  +
    }
         627  +
    /// <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>
         628  +
    pub fn get_cutoff(&self) -> &::std::option::Option<i32> {
         629  +
        &self.cutoff
         630  +
    }
         631  +
    /// <p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>
         632  +
    pub fn allow_unassociated_targets(mut self, input: bool) -> Self {
         633  +
        self.allow_unassociated_targets = ::std::option::Option::Some(input);
         634  +
        self
         635  +
    }
         636  +
    /// <p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>
         637  +
    pub fn set_allow_unassociated_targets(mut self, input: ::std::option::Option<bool>) -> Self {
         638  +
        self.allow_unassociated_targets = input;
         639  +
        self
         640  +
    }
         641  +
    /// <p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>
         642  +
    pub fn get_allow_unassociated_targets(&self) -> &::std::option::Option<bool> {
         643  +
        &self.allow_unassociated_targets
         644  +
    }
         645  +
    /// <p>Whether the maintenance window is enabled.</p>
         646  +
    pub fn enabled(mut self, input: bool) -> Self {
         647  +
        self.enabled = ::std::option::Option::Some(input);
         648  +
        self
         649  +
    }
         650  +
    /// <p>Whether the maintenance window is enabled.</p>
         651  +
    pub fn set_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
         652  +
        self.enabled = input;
         653  +
        self
         654  +
    }
         655  +
    /// <p>Whether the maintenance window is enabled.</p>
         656  +
    pub fn get_enabled(&self) -> &::std::option::Option<bool> {
         657  +
        &self.enabled
         658  +
    }
         659  +
    /// <p>If <code>True</code>, then all fields that are required by the <code>CreateMaintenanceWindow</code> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>
         660  +
    pub fn replace(mut self, input: bool) -> Self {
         661  +
        self.replace = ::std::option::Option::Some(input);
         662  +
        self
         663  +
    }
         664  +
    /// <p>If <code>True</code>, then all fields that are required by the <code>CreateMaintenanceWindow</code> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>
         665  +
    pub fn set_replace(mut self, input: ::std::option::Option<bool>) -> Self {
         666  +
        self.replace = input;
         667  +
        self
         668  +
    }
         669  +
    /// <p>If <code>True</code>, then all fields that are required by the <code>CreateMaintenanceWindow</code> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>
         670  +
    pub fn get_replace(&self) -> &::std::option::Option<bool> {
         671  +
        &self.replace
         672  +
    }
         673  +
    /// Consumes the builder and constructs a [`UpdateMaintenanceWindowInput`](crate::operation::update_maintenance_window::UpdateMaintenanceWindowInput).
         674  +
    pub fn build(
         675  +
        self,
         676  +
    ) -> ::std::result::Result<
         677  +
        crate::operation::update_maintenance_window::UpdateMaintenanceWindowInput,
         678  +
        ::aws_smithy_types::error::operation::BuildError,
         679  +
    > {
         680  +
        ::std::result::Result::Ok(crate::operation::update_maintenance_window::UpdateMaintenanceWindowInput {
         681  +
            window_id: self.window_id,
         682  +
            name: self.name,
         683  +
            description: self.description,
         684  +
            start_date: self.start_date,
         685  +
            end_date: self.end_date,
         686  +
            schedule: self.schedule,
         687  +
            schedule_timezone: self.schedule_timezone,
         688  +
            schedule_offset: self.schedule_offset,
         689  +
            duration: self.duration,
         690  +
            cutoff: self.cutoff,
         691  +
            allow_unassociated_targets: self.allow_unassociated_targets,
         692  +
            enabled: self.enabled,
         693  +
            replace: self.replace,
         694  +
        })
         695  +
    }
         696  +
}
         697  +
impl ::std::fmt::Debug for UpdateMaintenanceWindowInputBuilder {
         698  +
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         699  +
        let mut formatter = f.debug_struct("UpdateMaintenanceWindowInputBuilder");
         700  +
        formatter.field("window_id", &self.window_id);
         701  +
        formatter.field("name", &self.name);
         702  +
        formatter.field("description", &"*** Sensitive Data Redacted ***");
         703  +
        formatter.field("start_date", &self.start_date);
         704  +
        formatter.field("end_date", &self.end_date);
         705  +
        formatter.field("schedule", &self.schedule);
         706  +
        formatter.field("schedule_timezone", &self.schedule_timezone);
         707  +
        formatter.field("schedule_offset", &self.schedule_offset);
         708  +
        formatter.field("duration", &self.duration);
         709  +
        formatter.field("cutoff", &self.cutoff);
         710  +
        formatter.field("allow_unassociated_targets", &self.allow_unassociated_targets);
         711  +
        formatter.field("enabled", &self.enabled);
         712  +
        formatter.field("replace", &self.replace);
         713  +
        formatter.finish()
         714  +
    }
         715  +
}

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

@@ -0,1 +0,722 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
#[non_exhaustive]
           4  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
           5  +
pub struct UpdateMaintenanceWindowOutput {
           6  +
    /// <p>The ID of the created maintenance window.</p>
           7  +
    pub window_id: ::std::option::Option<::std::string::String>,
           8  +
    /// <p>The name of the maintenance window.</p>
           9  +
    pub name: ::std::option::Option<::std::string::String>,
          10  +
    /// <p>An optional description of the update.</p>
          11  +
    pub description: ::std::option::Option<::std::string::String>,
          12  +
    /// <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window won't run before this specified time.</p>
          13  +
    pub start_date: ::std::option::Option<::std::string::String>,
          14  +
    /// <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window won't run after this specified time.</p>
          15  +
    pub end_date: ::std::option::Option<::std::string::String>,
          16  +
    /// <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
          17  +
    pub schedule: ::std::option::Option<::std::string::String>,
          18  +
    /// <p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA website.</p>
          19  +
    pub schedule_timezone: ::std::option::Option<::std::string::String>,
          20  +
    /// <p>The number of days to wait to run a maintenance window after the scheduled cron expression date and time.</p>
          21  +
    pub schedule_offset: ::std::option::Option<i32>,
          22  +
    /// <p>The duration of the maintenance window in hours.</p>
          23  +
    pub duration: ::std::option::Option<i32>,
          24  +
    /// <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>
          25  +
    pub cutoff: i32,
          26  +
    /// <p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>
          27  +
    pub allow_unassociated_targets: bool,
          28  +
    /// <p>Whether the maintenance window is enabled.</p>
          29  +
    pub enabled: bool,
          30  +
    _request_id: Option<String>,
          31  +
}
          32  +
impl UpdateMaintenanceWindowOutput {
          33  +
    /// <p>The ID of the created maintenance window.</p>
          34  +
    pub fn window_id(&self) -> ::std::option::Option<&str> {
          35  +
        self.window_id.as_deref()
          36  +
    }
          37  +
    /// <p>The name of the maintenance window.</p>
          38  +
    pub fn name(&self) -> ::std::option::Option<&str> {
          39  +
        self.name.as_deref()
          40  +
    }
          41  +
    /// <p>An optional description of the update.</p>
          42  +
    pub fn description(&self) -> ::std::option::Option<&str> {
          43  +
        self.description.as_deref()
          44  +
    }
          45  +
    /// <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window won't run before this specified time.</p>
          46  +
    pub fn start_date(&self) -> ::std::option::Option<&str> {
          47  +
        self.start_date.as_deref()
          48  +
    }
          49  +
    /// <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window won't run after this specified time.</p>
          50  +
    pub fn end_date(&self) -> ::std::option::Option<&str> {
          51  +
        self.end_date.as_deref()
          52  +
    }
          53  +
    /// <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
          54  +
    pub fn schedule(&self) -> ::std::option::Option<&str> {
          55  +
        self.schedule.as_deref()
          56  +
    }
          57  +
    /// <p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA website.</p>
          58  +
    pub fn schedule_timezone(&self) -> ::std::option::Option<&str> {
          59  +
        self.schedule_timezone.as_deref()
          60  +
    }
          61  +
    /// <p>The number of days to wait to run a maintenance window after the scheduled cron expression date and time.</p>
          62  +
    pub fn schedule_offset(&self) -> ::std::option::Option<i32> {
          63  +
        self.schedule_offset
          64  +
    }
          65  +
    /// <p>The duration of the maintenance window in hours.</p>
          66  +
    pub fn duration(&self) -> ::std::option::Option<i32> {
          67  +
        self.duration
          68  +
    }
          69  +
    /// <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>
          70  +
    pub fn cutoff(&self) -> i32 {
          71  +
        self.cutoff
          72  +
    }
          73  +
    /// <p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>
          74  +
    pub fn allow_unassociated_targets(&self) -> bool {
          75  +
        self.allow_unassociated_targets
          76  +
    }
          77  +
    /// <p>Whether the maintenance window is enabled.</p>
          78  +
    pub fn enabled(&self) -> bool {
          79  +
        self.enabled
          80  +
    }
          81  +
}
          82  +
impl ::std::fmt::Debug for UpdateMaintenanceWindowOutput {
          83  +
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
          84  +
        let mut formatter = f.debug_struct("UpdateMaintenanceWindowOutput");
          85  +
        formatter.field("window_id", &self.window_id);
          86  +
        formatter.field("name", &self.name);
          87  +
        formatter.field("description", &"*** Sensitive Data Redacted ***");
          88  +
        formatter.field("start_date", &self.start_date);
          89  +
        formatter.field("end_date", &self.end_date);
          90  +
        formatter.field("schedule", &self.schedule);
          91  +
        formatter.field("schedule_timezone", &self.schedule_timezone);
          92  +
        formatter.field("schedule_offset", &self.schedule_offset);
          93  +
        formatter.field("duration", &self.duration);
          94  +
        formatter.field("cutoff", &self.cutoff);
          95  +
        formatter.field("allow_unassociated_targets", &self.allow_unassociated_targets);
          96  +
        formatter.field("enabled", &self.enabled);
          97  +
        formatter.field("_request_id", &self._request_id);
          98  +
        formatter.finish()
          99  +
    }
         100  +
}
         101  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_WINDOW_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         102  +
    ::aws_smithy_schema::ShapeId::from_parts(
         103  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$WindowId",
         104  +
        "com.amazonaws.ssm.synthetic",
         105  +
        "UpdateMaintenanceWindowOutput",
         106  +
    ),
         107  +
    ::aws_smithy_schema::ShapeType::String,
         108  +
    "WindowId",
         109  +
    0,
         110  +
);
         111  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         112  +
    ::aws_smithy_schema::ShapeId::from_parts(
         113  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$Name",
         114  +
        "com.amazonaws.ssm.synthetic",
         115  +
        "UpdateMaintenanceWindowOutput",
         116  +
    ),
         117  +
    ::aws_smithy_schema::ShapeType::String,
         118  +
    "Name",
         119  +
    1,
         120  +
);
         121  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         122  +
    ::aws_smithy_schema::ShapeId::from_parts(
         123  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$Description",
         124  +
        "com.amazonaws.ssm.synthetic",
         125  +
        "UpdateMaintenanceWindowOutput",
         126  +
    ),
         127  +
    ::aws_smithy_schema::ShapeType::String,
         128  +
    "Description",
         129  +
    2,
         130  +
);
         131  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_START_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         132  +
    ::aws_smithy_schema::ShapeId::from_parts(
         133  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$StartDate",
         134  +
        "com.amazonaws.ssm.synthetic",
         135  +
        "UpdateMaintenanceWindowOutput",
         136  +
    ),
         137  +
    ::aws_smithy_schema::ShapeType::String,
         138  +
    "StartDate",
         139  +
    3,
         140  +
);
         141  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_END_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         142  +
    ::aws_smithy_schema::ShapeId::from_parts(
         143  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$EndDate",
         144  +
        "com.amazonaws.ssm.synthetic",
         145  +
        "UpdateMaintenanceWindowOutput",
         146  +
    ),
         147  +
    ::aws_smithy_schema::ShapeType::String,
         148  +
    "EndDate",
         149  +
    4,
         150  +
);
         151  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_SCHEDULE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         152  +
    ::aws_smithy_schema::ShapeId::from_parts(
         153  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$Schedule",
         154  +
        "com.amazonaws.ssm.synthetic",
         155  +
        "UpdateMaintenanceWindowOutput",
         156  +
    ),
         157  +
    ::aws_smithy_schema::ShapeType::String,
         158  +
    "Schedule",
         159  +
    5,
         160  +
);
         161  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_SCHEDULE_TIMEZONE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         162  +
    ::aws_smithy_schema::ShapeId::from_parts(
         163  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$ScheduleTimezone",
         164  +
        "com.amazonaws.ssm.synthetic",
         165  +
        "UpdateMaintenanceWindowOutput",
         166  +
    ),
         167  +
    ::aws_smithy_schema::ShapeType::String,
         168  +
    "ScheduleTimezone",
         169  +
    6,
         170  +
);
         171  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_SCHEDULE_OFFSET: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         172  +
    ::aws_smithy_schema::ShapeId::from_parts(
         173  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$ScheduleOffset",
         174  +
        "com.amazonaws.ssm.synthetic",
         175  +
        "UpdateMaintenanceWindowOutput",
         176  +
    ),
         177  +
    ::aws_smithy_schema::ShapeType::Integer,
         178  +
    "ScheduleOffset",
         179  +
    7,
         180  +
);
         181  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_DURATION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         182  +
    ::aws_smithy_schema::ShapeId::from_parts(
         183  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$Duration",
         184  +
        "com.amazonaws.ssm.synthetic",
         185  +
        "UpdateMaintenanceWindowOutput",
         186  +
    ),
         187  +
    ::aws_smithy_schema::ShapeType::Integer,
         188  +
    "Duration",
         189  +
    8,
         190  +
);
         191  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_CUTOFF: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         192  +
    ::aws_smithy_schema::ShapeId::from_parts(
         193  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$Cutoff",
         194  +
        "com.amazonaws.ssm.synthetic",
         195  +
        "UpdateMaintenanceWindowOutput",
         196  +
    ),
         197  +
    ::aws_smithy_schema::ShapeType::Integer,
         198  +
    "Cutoff",
         199  +
    9,
         200  +
);
         201  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_ALLOW_UNASSOCIATED_TARGETS: ::aws_smithy_schema::Schema<'static> =
         202  +
    ::aws_smithy_schema::Schema::new_member(
         203  +
        ::aws_smithy_schema::ShapeId::from_parts(
         204  +
            "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$AllowUnassociatedTargets",
         205  +
            "com.amazonaws.ssm.synthetic",
         206  +
            "UpdateMaintenanceWindowOutput",
         207  +
        ),
         208  +
        ::aws_smithy_schema::ShapeType::Boolean,
         209  +
        "AllowUnassociatedTargets",
         210  +
        10,
         211  +
    );
         212  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_ENABLED: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         213  +
    ::aws_smithy_schema::ShapeId::from_parts(
         214  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput$Enabled",
         215  +
        "com.amazonaws.ssm.synthetic",
         216  +
        "UpdateMaintenanceWindowOutput",
         217  +
    ),
         218  +
    ::aws_smithy_schema::ShapeType::Boolean,
         219  +
    "Enabled",
         220  +
    11,
         221  +
);
         222  +
static UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         223  +
    ::aws_smithy_schema::ShapeId::from_parts("synthetic#request_id", "synthetic", "request_id"),
         224  +
    ::aws_smithy_schema::ShapeType::String,
         225  +
    "request_id",
         226  +
    12,
         227  +
)
         228  +
.with_http_header("x-amzn-requestid");
         229  +
static UPDATEMAINTENANCEWINDOWOUTPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         230  +
    ::aws_smithy_schema::ShapeId::from_parts(
         231  +
        "com.amazonaws.ssm.synthetic#UpdateMaintenanceWindowOutput",
         232  +
        "com.amazonaws.ssm.synthetic",
         233  +
        "UpdateMaintenanceWindowOutput",
         234  +
    ),
         235  +
    ::aws_smithy_schema::ShapeType::Structure,
         236  +
    &[
         237  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_WINDOW_ID,
         238  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_NAME,
         239  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_DESCRIPTION,
         240  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_START_DATE,
         241  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_END_DATE,
         242  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_SCHEDULE,
         243  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_SCHEDULE_TIMEZONE,
         244  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_SCHEDULE_OFFSET,
         245  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_DURATION,
         246  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_CUTOFF,
         247  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_ALLOW_UNASSOCIATED_TARGETS,
         248  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_ENABLED,
         249  +
        &UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER__REQUEST_ID,
         250  +
    ],
         251  +
)
         252  +
.with_original_name("UpdateMaintenanceWindowResult");
         253  +
impl UpdateMaintenanceWindowOutput {
         254  +
    /// The schema for this shape.
         255  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &UPDATEMAINTENANCEWINDOWOUTPUT_SCHEMA;
         256  +
}
         257  +
impl ::aws_smithy_schema::serde::SerializableStruct for UpdateMaintenanceWindowOutput {
         258  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         259  +
    fn serialize_members(
         260  +
        &self,
         261  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         262  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         263  +
        if let Some(ref val) = self.window_id {
         264  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_WINDOW_ID, val)?;
         265  +
        }
         266  +
        if let Some(ref val) = self.name {
         267  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_NAME, val)?;
         268  +
        }
         269  +
        if let Some(ref val) = self.description {
         270  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_DESCRIPTION, val)?;
         271  +
        }
         272  +
        if let Some(ref val) = self.start_date {
         273  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_START_DATE, val)?;
         274  +
        }
         275  +
        if let Some(ref val) = self.end_date {
         276  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_END_DATE, val)?;
         277  +
        }
         278  +
        if let Some(ref val) = self.schedule {
         279  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_SCHEDULE, val)?;
         280  +
        }
         281  +
        if let Some(ref val) = self.schedule_timezone {
         282  +
            ser.write_string(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_SCHEDULE_TIMEZONE, val)?;
         283  +
        }
         284  +
        if let Some(ref val) = self.schedule_offset {
         285  +
            ser.write_integer(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_SCHEDULE_OFFSET, *val)?;
         286  +
        }
         287  +
        if let Some(ref val) = self.duration {
         288  +
            ser.write_integer(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_DURATION, *val)?;
         289  +
        }
         290  +
        {
         291  +
            let val = &self.cutoff;
         292  +
            ser.write_integer(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_CUTOFF, *val)?;
         293  +
        }
         294  +
        {
         295  +
            let val = &self.allow_unassociated_targets;
         296  +
            ser.write_boolean(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_ALLOW_UNASSOCIATED_TARGETS, *val)?;
         297  +
        }
         298  +
        {
         299  +
            let val = &self.enabled;
         300  +
            ser.write_boolean(&UPDATEMAINTENANCEWINDOWOUTPUT_MEMBER_ENABLED, *val)?;
         301  +
        }
         302  +
        Ok(())
         303  +
    }
         304  +
}
         305  +
impl UpdateMaintenanceWindowOutput {
         306  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         307  +
    pub fn deserialize(
         308  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         309  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         310  +
        #[allow(unused_variables, unused_mut)]
         311  +
        let mut builder = Self::builder();
         312  +
        #[allow(
         313  +
            unused_variables,
         314  +
            unreachable_code,
         315  +
            clippy::single_match,
         316  +
            clippy::match_single_binding,
         317  +
            clippy::diverging_sub_expression
         318  +
        )]
         319  +
        deserializer.read_struct(&UPDATEMAINTENANCEWINDOWOUTPUT_SCHEMA, &mut |member, deser| {
         320  +
            match member.member_index() {
         321  +
                Some(0) => {
         322  +
                    if deser.is_null() {
         323  +
                        deser.read_null()?;
         324  +
                    } else {
         325  +
                        builder.window_id = Some(deser.read_string(member)?);
         326  +
                    }
         327  +
                }
         328  +
                Some(1) => {
         329  +
                    if deser.is_null() {
         330  +
                        deser.read_null()?;
         331  +
                    } else {
         332  +
                        builder.name = Some(deser.read_string(member)?);
         333  +
                    }
         334  +
                }
         335  +
                Some(2) => {
         336  +
                    if deser.is_null() {
         337  +
                        deser.read_null()?;
         338  +
                    } else {
         339  +
                        builder.description = Some(deser.read_string(member)?);
         340  +
                    }
         341  +
                }
         342  +
                Some(3) => {
         343  +
                    if deser.is_null() {
         344  +
                        deser.read_null()?;
         345  +
                    } else {
         346  +
                        builder.start_date = Some(deser.read_string(member)?);
         347  +
                    }
         348  +
                }
         349  +
                Some(4) => {
         350  +
                    if deser.is_null() {
         351  +
                        deser.read_null()?;
         352  +
                    } else {
         353  +
                        builder.end_date = Some(deser.read_string(member)?);
         354  +
                    }
         355  +
                }
         356  +
                Some(5) => {
         357  +
                    if deser.is_null() {
         358  +
                        deser.read_null()?;
         359  +
                    } else {
         360  +
                        builder.schedule = Some(deser.read_string(member)?);
         361  +
                    }
         362  +
                }
         363  +
                Some(6) => {
         364  +
                    if deser.is_null() {
         365  +
                        deser.read_null()?;
         366  +
                    } else {
         367  +
                        builder.schedule_timezone = Some(deser.read_string(member)?);
         368  +
                    }
         369  +
                }
         370  +
                Some(7) => {
         371  +
                    if deser.is_null() {
         372  +
                        deser.read_null()?;
         373  +
                    } else {
         374  +
                        builder.schedule_offset = Some(deser.read_integer(member)?);
         375  +
                    }
         376  +
                }
         377  +
                Some(8) => {
         378  +
                    if deser.is_null() {
         379  +
                        deser.read_null()?;
         380  +
                    } else {
         381  +
                        builder.duration = Some(deser.read_integer(member)?);
         382  +
                    }
         383  +
                }
         384  +
                Some(9) => {
         385  +
                    builder.cutoff = Some(deser.read_integer(member)?);
         386  +
                }
         387  +
                Some(10) => {
         388  +
                    builder.allow_unassociated_targets = Some(deser.read_boolean(member)?);
         389  +
                }
         390  +
                Some(11) => {
         391  +
                    builder.enabled = Some(deser.read_boolean(member)?);
         392  +
                }
         393  +
                Some(12) => {
         394  +
                    builder._request_id = Some(deser.read_string(member)?);
         395  +
                }
         396  +
                _ => {}
         397  +
            }
         398  +
            Ok(())
         399  +
        })?;
         400  +
        Ok(builder.build())
         401  +
    }
         402  +
}
         403  +
impl UpdateMaintenanceWindowOutput {
         404  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         405  +
    /// Header-bound members are read directly from headers, avoiding runtime
         406  +
    /// member iteration overhead. Body members are read via the deserializer.
         407  +
    pub fn deserialize_with_response(
         408  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         409  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         410  +
        _status: u16,
         411  +
        _body: &[u8],
         412  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         413  +
        #[allow(unused_variables, unused_mut)]
         414  +
        let mut builder = Self::builder();
         415  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         416  +
            builder._request_id = Some(val.to_string());
         417  +
        }
         418  +
         419  +
        #[allow(
         420  +
            unused_variables,
         421  +
            unreachable_code,
         422  +
            clippy::single_match,
         423  +
            clippy::match_single_binding,
         424  +
            clippy::diverging_sub_expression
         425  +
        )]
         426  +
        deserializer.read_struct(&UPDATEMAINTENANCEWINDOWOUTPUT_SCHEMA, &mut |member, deser| {
         427  +
            match member.member_index() {
         428  +
                Some(0) => {
         429  +
                    builder.window_id = Some(deser.read_string(member)?);
         430  +
                }
         431  +
                Some(1) => {
         432  +
                    builder.name = Some(deser.read_string(member)?);
         433  +
                }
         434  +
                Some(2) => {
         435  +
                    builder.description = Some(deser.read_string(member)?);
         436  +
                }
         437  +
                Some(3) => {
         438  +
                    builder.start_date = Some(deser.read_string(member)?);
         439  +
                }
         440  +
                Some(4) => {
         441  +
                    builder.end_date = Some(deser.read_string(member)?);
         442  +
                }
         443  +
                Some(5) => {
         444  +
                    builder.schedule = Some(deser.read_string(member)?);
         445  +
                }
         446  +
                Some(6) => {
         447  +
                    builder.schedule_timezone = Some(deser.read_string(member)?);
         448  +
                }
         449  +
                Some(7) => {
         450  +
                    builder.schedule_offset = Some(deser.read_integer(member)?);
         451  +
                }
         452  +
                Some(8) => {
         453  +
                    builder.duration = Some(deser.read_integer(member)?);
         454  +
                }
         455  +
                Some(9) => {
         456  +
                    builder.cutoff = Some(deser.read_integer(member)?);
         457  +
                }
         458  +
                Some(10) => {
         459  +
                    builder.allow_unassociated_targets = Some(deser.read_boolean(member)?);
         460  +
                }
         461  +
                Some(11) => {
         462  +
                    builder.enabled = Some(deser.read_boolean(member)?);
         463  +
                }
         464  +
                _ => {}
         465  +
            }
         466  +
            Ok(())
         467  +
        })?;
         468  +
        Ok(builder.build())
         469  +
    }
         470  +
}
         471  +
impl ::aws_types::request_id::RequestId for UpdateMaintenanceWindowOutput {
         472  +
    fn request_id(&self) -> Option<&str> {
         473  +
        self._request_id.as_deref()
         474  +
    }
         475  +
}
         476  +
impl UpdateMaintenanceWindowOutput {
         477  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         478  +
        self._request_id = request_id;
         479  +
        self
         480  +
    }
         481  +
}
         482  +
impl UpdateMaintenanceWindowOutput {
         483  +
    /// Creates a new builder-style object to manufacture [`UpdateMaintenanceWindowOutput`](crate::operation::update_maintenance_window::UpdateMaintenanceWindowOutput).
         484  +
    pub fn builder() -> crate::operation::update_maintenance_window::builders::UpdateMaintenanceWindowOutputBuilder {
         485  +
        crate::operation::update_maintenance_window::builders::UpdateMaintenanceWindowOutputBuilder::default()
         486  +
    }
         487  +
}
         488  +
         489  +
/// A builder for [`UpdateMaintenanceWindowOutput`](crate::operation::update_maintenance_window::UpdateMaintenanceWindowOutput).
         490  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
         491  +
#[non_exhaustive]
         492  +
pub struct UpdateMaintenanceWindowOutputBuilder {
         493  +
    pub(crate) window_id: ::std::option::Option<::std::string::String>,
         494  +
    pub(crate) name: ::std::option::Option<::std::string::String>,
         495  +
    pub(crate) description: ::std::option::Option<::std::string::String>,
         496  +
    pub(crate) start_date: ::std::option::Option<::std::string::String>,
         497  +
    pub(crate) end_date: ::std::option::Option<::std::string::String>,
         498  +
    pub(crate) schedule: ::std::option::Option<::std::string::String>,
         499  +
    pub(crate) schedule_timezone: ::std::option::Option<::std::string::String>,
         500  +
    pub(crate) schedule_offset: ::std::option::Option<i32>,
         501  +
    pub(crate) duration: ::std::option::Option<i32>,
         502  +
    pub(crate) cutoff: ::std::option::Option<i32>,
         503  +
    pub(crate) allow_unassociated_targets: ::std::option::Option<bool>,
         504  +
    pub(crate) enabled: ::std::option::Option<bool>,
         505  +
    _request_id: Option<String>,
         506  +
}
         507  +
impl UpdateMaintenanceWindowOutputBuilder {
         508  +
    /// <p>The ID of the created maintenance window.</p>
         509  +
    pub fn window_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         510  +
        self.window_id = ::std::option::Option::Some(input.into());
         511  +
        self
         512  +
    }
         513  +
    /// <p>The ID of the created maintenance window.</p>
         514  +
    pub fn set_window_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         515  +
        self.window_id = input;
         516  +
        self
         517  +
    }
         518  +
    /// <p>The ID of the created maintenance window.</p>
         519  +
    pub fn get_window_id(&self) -> &::std::option::Option<::std::string::String> {
         520  +
        &self.window_id
         521  +
    }
         522  +
    /// <p>The name of the maintenance window.</p>
         523  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         524  +
        self.name = ::std::option::Option::Some(input.into());
         525  +
        self
         526  +
    }
         527  +
    /// <p>The name of the maintenance window.</p>
         528  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         529  +
        self.name = input;
         530  +
        self
         531  +
    }
         532  +
    /// <p>The name of the maintenance window.</p>
         533  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         534  +
        &self.name
         535  +
    }
         536  +
    /// <p>An optional description of the update.</p>
         537  +
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         538  +
        self.description = ::std::option::Option::Some(input.into());
         539  +
        self
         540  +
    }
         541  +
    /// <p>An optional description of the update.</p>
         542  +
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         543  +
        self.description = input;
         544  +
        self
         545  +
    }
         546  +
    /// <p>An optional description of the update.</p>
         547  +
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
         548  +
        &self.description
         549  +
    }
         550  +
    /// <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window won't run before this specified time.</p>
         551  +
    pub fn start_date(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         552  +
        self.start_date = ::std::option::Option::Some(input.into());
         553  +
        self
         554  +
    }
         555  +
    /// <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window won't run before this specified time.</p>
         556  +
    pub fn set_start_date(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         557  +
        self.start_date = input;
         558  +
        self
         559  +
    }
         560  +
    /// <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window won't run before this specified time.</p>
         561  +
    pub fn get_start_date(&self) -> &::std::option::Option<::std::string::String> {
         562  +
        &self.start_date
         563  +
    }
         564  +
    /// <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window won't run after this specified time.</p>
         565  +
    pub fn end_date(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         566  +
        self.end_date = ::std::option::Option::Some(input.into());
         567  +
        self
         568  +
    }
         569  +
    /// <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window won't run after this specified time.</p>
         570  +
    pub fn set_end_date(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         571  +
        self.end_date = input;
         572  +
        self
         573  +
    }
         574  +
    /// <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window won't run after this specified time.</p>
         575  +
    pub fn get_end_date(&self) -> &::std::option::Option<::std::string::String> {
         576  +
        &self.end_date
         577  +
    }
         578  +
    /// <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
         579  +
    pub fn schedule(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         580  +
        self.schedule = ::std::option::Option::Some(input.into());
         581  +
        self
         582  +
    }
         583  +
    /// <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
         584  +
    pub fn set_schedule(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         585  +
        self.schedule = input;
         586  +
        self
         587  +
    }
         588  +
    /// <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
         589  +
    pub fn get_schedule(&self) -> &::std::option::Option<::std::string::String> {
         590  +
        &self.schedule
         591  +
    }
         592  +
    /// <p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA website.</p>
         593  +
    pub fn schedule_timezone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         594  +
        self.schedule_timezone = ::std::option::Option::Some(input.into());
         595  +
        self
         596  +
    }
         597  +
    /// <p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA website.</p>
         598  +
    pub fn set_schedule_timezone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         599  +
        self.schedule_timezone = input;
         600  +
        self
         601  +
    }
         602  +
    /// <p>The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA website.</p>
         603  +
    pub fn get_schedule_timezone(&self) -> &::std::option::Option<::std::string::String> {
         604  +
        &self.schedule_timezone
         605  +
    }
         606  +
    /// <p>The number of days to wait to run a maintenance window after the scheduled cron expression date and time.</p>
         607  +
    pub fn schedule_offset(mut self, input: i32) -> Self {
         608  +
        self.schedule_offset = ::std::option::Option::Some(input);
         609  +
        self
         610  +
    }
         611  +
    /// <p>The number of days to wait to run a maintenance window after the scheduled cron expression date and time.</p>
         612  +
    pub fn set_schedule_offset(mut self, input: ::std::option::Option<i32>) -> Self {
         613  +
        self.schedule_offset = input;
         614  +
        self
         615  +
    }
         616  +
    /// <p>The number of days to wait to run a maintenance window after the scheduled cron expression date and time.</p>
         617  +
    pub fn get_schedule_offset(&self) -> &::std::option::Option<i32> {
         618  +
        &self.schedule_offset
         619  +
    }
         620  +
    /// <p>The duration of the maintenance window in hours.</p>
         621  +
    pub fn duration(mut self, input: i32) -> Self {
         622  +
        self.duration = ::std::option::Option::Some(input);
         623  +
        self
         624  +
    }
         625  +
    /// <p>The duration of the maintenance window in hours.</p>
         626  +
    pub fn set_duration(mut self, input: ::std::option::Option<i32>) -> Self {
         627  +
        self.duration = input;
         628  +
        self
         629  +
    }
         630  +
    /// <p>The duration of the maintenance window in hours.</p>
         631  +
    pub fn get_duration(&self) -> &::std::option::Option<i32> {
         632  +
        &self.duration
         633  +
    }
         634  +
    /// <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>
         635  +
    pub fn cutoff(mut self, input: i32) -> Self {
         636  +
        self.cutoff = ::std::option::Option::Some(input);
         637  +
        self
         638  +
    }
         639  +
    /// <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>
         640  +
    pub fn set_cutoff(mut self, input: ::std::option::Option<i32>) -> Self {
         641  +
        self.cutoff = input;
         642  +
        self
         643  +
    }
         644  +
    /// <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.</p>
         645  +
    pub fn get_cutoff(&self) -> &::std::option::Option<i32> {
         646  +
        &self.cutoff
         647  +
    }
         648  +
    /// <p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>
         649  +
    pub fn allow_unassociated_targets(mut self, input: bool) -> Self {
         650  +
        self.allow_unassociated_targets = ::std::option::Option::Some(input);
         651  +
        self
         652  +
    }
         653  +
    /// <p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>
         654  +
    pub fn set_allow_unassociated_targets(mut self, input: ::std::option::Option<bool>) -> Self {
         655  +
        self.allow_unassociated_targets = input;
         656  +
        self
         657  +
    }
         658  +
    /// <p>Whether targets must be registered with the maintenance window before tasks can be defined for those targets.</p>
         659  +
    pub fn get_allow_unassociated_targets(&self) -> &::std::option::Option<bool> {
         660  +
        &self.allow_unassociated_targets
         661  +
    }
         662  +
    /// <p>Whether the maintenance window is enabled.</p>
         663  +
    pub fn enabled(mut self, input: bool) -> Self {
         664  +
        self.enabled = ::std::option::Option::Some(input);
         665  +
        self
         666  +
    }
         667  +
    /// <p>Whether the maintenance window is enabled.</p>
         668  +
    pub fn set_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
         669  +
        self.enabled = input;
         670  +
        self
         671  +
    }
         672  +
    /// <p>Whether the maintenance window is enabled.</p>
         673  +
    pub fn get_enabled(&self) -> &::std::option::Option<bool> {
         674  +
        &self.enabled
         675  +
    }
         676  +
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
         677  +
        self._request_id = Some(request_id.into());
         678  +
        self
         679  +
    }
         680  +
         681  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         682  +
        self._request_id = request_id;
         683  +
        self
         684  +
    }
         685  +
    /// Consumes the builder and constructs a [`UpdateMaintenanceWindowOutput`](crate::operation::update_maintenance_window::UpdateMaintenanceWindowOutput).
         686  +
    pub fn build(self) -> crate::operation::update_maintenance_window::UpdateMaintenanceWindowOutput {
         687  +
        crate::operation::update_maintenance_window::UpdateMaintenanceWindowOutput {
         688  +
            window_id: self.window_id,
         689  +
            name: self.name,
         690  +
            description: self.description,
         691  +
            start_date: self.start_date,
         692  +
            end_date: self.end_date,
         693  +
            schedule: self.schedule,
         694  +
            schedule_timezone: self.schedule_timezone,
         695  +
            schedule_offset: self.schedule_offset,
         696  +
            duration: self.duration,
         697  +
            cutoff: self.cutoff.unwrap_or_default(),
         698  +
            allow_unassociated_targets: self.allow_unassociated_targets.unwrap_or_default(),
         699  +
            enabled: self.enabled.unwrap_or_default(),
         700  +
            _request_id: self._request_id,
         701  +
        }
         702  +
    }
         703  +
}
         704  +
impl ::std::fmt::Debug for UpdateMaintenanceWindowOutputBuilder {
         705  +
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         706  +
        let mut formatter = f.debug_struct("UpdateMaintenanceWindowOutputBuilder");
         707  +
        formatter.field("window_id", &self.window_id);
         708  +
        formatter.field("name", &self.name);
         709  +
        formatter.field("description", &"*** Sensitive Data Redacted ***");
         710  +
        formatter.field("start_date", &self.start_date);
         711  +
        formatter.field("end_date", &self.end_date);
         712  +
        formatter.field("schedule", &self.schedule);
         713  +
        formatter.field("schedule_timezone", &self.schedule_timezone);
         714  +
        formatter.field("schedule_offset", &self.schedule_offset);
         715  +
        formatter.field("duration", &self.duration);
         716  +
        formatter.field("cutoff", &self.cutoff);
         717  +
        formatter.field("allow_unassociated_targets", &self.allow_unassociated_targets);
         718  +
        formatter.field("enabled", &self.enabled);
         719  +
        formatter.field("_request_id", &self._request_id);
         720  +
        formatter.finish()
         721  +
    }
         722  +
}