AWS SDK

AWS SDK

rev. 97ba95e6039d206ffea5b866ddc214d34f7f88c3 (ignoring whitespace)

Files changed:

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

@@ -0,1 +0,874 @@
           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, ::std::fmt::Debug)]
           5  +
pub struct UpdatePatchBaselineInput {
           6  +
    /// <p>The ID of the patch baseline to update.</p>
           7  +
    pub baseline_id: ::std::option::Option<::std::string::String>,
           8  +
    /// <p>The name of the patch baseline.</p>
           9  +
    pub name: ::std::option::Option<::std::string::String>,
          10  +
    /// <p>A set of global filters used to include patches in the baseline.</p><important>
          11  +
    /// <p>The <code>GlobalFilters</code> parameter can be configured only by using the CLI or an Amazon Web Services SDK. It can't be configured from the Patch Manager console, and its value isn't displayed in the console.</p>
          12  +
    /// </important>
          13  +
    pub global_filters: ::std::option::Option<crate::types::PatchFilterGroup>,
          14  +
    /// <p>A set of rules used to include patches in the baseline.</p>
          15  +
    pub approval_rules: ::std::option::Option<crate::types::PatchRuleGroup>,
          16  +
    /// <p>A list of explicitly approved patches for the baseline.</p>
          17  +
    /// <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          18  +
    pub approved_patches: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
          19  +
    /// <p>Assigns a new compliance severity level to an existing patch baseline.</p>
          20  +
    pub approved_patches_compliance_level: ::std::option::Option<crate::types::PatchComplianceLevel>,
          21  +
    /// <p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>
          22  +
    pub approved_patches_enable_non_security: ::std::option::Option<bool>,
          23  +
    /// <p>A list of explicitly rejected patches for the baseline.</p>
          24  +
    /// <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          25  +
    pub rejected_patches: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
          26  +
    /// <p>The action for Patch Manager to take on patches included in the <code>RejectedPackages</code> list.</p>
          27  +
    /// <dl>
          28  +
    /// <dt>
          29  +
    /// ALLOW_AS_DEPENDENCY
          30  +
    /// </dt>
          31  +
    /// <dd>
          32  +
    /// <p><b>Linux and macOS</b>: A package in the rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as <code>INSTALLED_OTHER</code>. This is the default action if no option is specified.</p>
          33  +
    /// <p><b>Windows Server</b>: Windows Server doesn't support the concept of package dependencies. If a package in the rejected patches list and already installed on the node, its status is reported as <code>INSTALLED_OTHER</code>. Any package not already installed on the node is skipped. This is the default action if no option is specified.</p>
          34  +
    /// </dd>
          35  +
    /// <dt>
          36  +
    /// BLOCK
          37  +
    /// </dt>
          38  +
    /// <dd>
          39  +
    /// <p><b>All OSs</b>: Packages in the rejected patches list, and packages that include them as dependencies, aren't installed by Patch Manager under any circumstances.</p>
          40  +
    /// <p>State value assignment for patch compliance:</p>
          41  +
    /// <ul>
          42  +
    /// <li>
          43  +
    /// <p>If a package was installed before it was added to the rejected patches list, or is installed outside of Patch Manager afterward, it's considered noncompliant with the patch baseline and its status is reported as <code>INSTALLED_REJECTED</code>.</p></li>
          44  +
    /// <li>
          45  +
    /// <p>If an update attempts to install a dependency package that is now rejected by the baseline, when previous versions of the package were not rejected, the package being updated is reported as <code>MISSING</code> for <code>SCAN</code> operations and as <code>FAILED</code> for <code>INSTALL</code> operations.</p></li>
          46  +
    /// </ul>
          47  +
    /// </dd>
          48  +
    /// </dl>
          49  +
    pub rejected_patches_action: ::std::option::Option<crate::types::PatchAction>,
          50  +
    /// <p>A description of the patch baseline.</p>
          51  +
    pub description: ::std::option::Option<::std::string::String>,
          52  +
    /// <p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>
          53  +
    pub sources: ::std::option::Option<::std::vec::Vec<crate::types::PatchSource>>,
          54  +
    /// <p>Indicates the status to be assigned to security patches that are available but not approved because they don't meet the installation criteria specified in the patch baseline.</p>
          55  +
    /// <p>Example scenario: Security patches that you might want installed can be skipped if you have specified a long period to wait after a patch is released before installation. If an update to the patch is released during your specified waiting period, the waiting period for installing the patch starts over. If the waiting period is too long, multiple versions of the patch could be released but never installed.</p>
          56  +
    /// <p>Supported for Windows Server managed nodes only.</p>
          57  +
    pub available_security_updates_compliance_status: ::std::option::Option<crate::types::PatchComplianceStatus>,
          58  +
    /// <p>If True, then all fields that are required by the <code>CreatePatchBaseline</code> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>
          59  +
    pub replace: ::std::option::Option<bool>,
          60  +
}
          61  +
impl UpdatePatchBaselineInput {
          62  +
    /// <p>The ID of the patch baseline to update.</p>
          63  +
    pub fn baseline_id(&self) -> ::std::option::Option<&str> {
          64  +
        self.baseline_id.as_deref()
          65  +
    }
          66  +
    /// <p>The name of the patch baseline.</p>
          67  +
    pub fn name(&self) -> ::std::option::Option<&str> {
          68  +
        self.name.as_deref()
          69  +
    }
          70  +
    /// <p>A set of global filters used to include patches in the baseline.</p><important>
          71  +
    /// <p>The <code>GlobalFilters</code> parameter can be configured only by using the CLI or an Amazon Web Services SDK. It can't be configured from the Patch Manager console, and its value isn't displayed in the console.</p>
          72  +
    /// </important>
          73  +
    pub fn global_filters(&self) -> ::std::option::Option<&crate::types::PatchFilterGroup> {
          74  +
        self.global_filters.as_ref()
          75  +
    }
          76  +
    /// <p>A set of rules used to include patches in the baseline.</p>
          77  +
    pub fn approval_rules(&self) -> ::std::option::Option<&crate::types::PatchRuleGroup> {
          78  +
        self.approval_rules.as_ref()
          79  +
    }
          80  +
    /// <p>A list of explicitly approved patches for the baseline.</p>
          81  +
    /// <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          82  +
    ///
          83  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.approved_patches.is_none()`.
          84  +
    pub fn approved_patches(&self) -> &[::std::string::String] {
          85  +
        self.approved_patches.as_deref().unwrap_or_default()
          86  +
    }
          87  +
    /// <p>Assigns a new compliance severity level to an existing patch baseline.</p>
          88  +
    pub fn approved_patches_compliance_level(&self) -> ::std::option::Option<&crate::types::PatchComplianceLevel> {
          89  +
        self.approved_patches_compliance_level.as_ref()
          90  +
    }
          91  +
    /// <p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>
          92  +
    pub fn approved_patches_enable_non_security(&self) -> ::std::option::Option<bool> {
          93  +
        self.approved_patches_enable_non_security
          94  +
    }
          95  +
    /// <p>A list of explicitly rejected patches for the baseline.</p>
          96  +
    /// <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          97  +
    ///
          98  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.rejected_patches.is_none()`.
          99  +
    pub fn rejected_patches(&self) -> &[::std::string::String] {
         100  +
        self.rejected_patches.as_deref().unwrap_or_default()
         101  +
    }
         102  +
    /// <p>The action for Patch Manager to take on patches included in the <code>RejectedPackages</code> list.</p>
         103  +
    /// <dl>
         104  +
    /// <dt>
         105  +
    /// ALLOW_AS_DEPENDENCY
         106  +
    /// </dt>
         107  +
    /// <dd>
         108  +
    /// <p><b>Linux and macOS</b>: A package in the rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as <code>INSTALLED_OTHER</code>. This is the default action if no option is specified.</p>
         109  +
    /// <p><b>Windows Server</b>: Windows Server doesn't support the concept of package dependencies. If a package in the rejected patches list and already installed on the node, its status is reported as <code>INSTALLED_OTHER</code>. Any package not already installed on the node is skipped. This is the default action if no option is specified.</p>
         110  +
    /// </dd>
         111  +
    /// <dt>
         112  +
    /// BLOCK
         113  +
    /// </dt>
         114  +
    /// <dd>
         115  +
    /// <p><b>All OSs</b>: Packages in the rejected patches list, and packages that include them as dependencies, aren't installed by Patch Manager under any circumstances.</p>
         116  +
    /// <p>State value assignment for patch compliance:</p>
         117  +
    /// <ul>
         118  +
    /// <li>
         119  +
    /// <p>If a package was installed before it was added to the rejected patches list, or is installed outside of Patch Manager afterward, it's considered noncompliant with the patch baseline and its status is reported as <code>INSTALLED_REJECTED</code>.</p></li>
         120  +
    /// <li>
         121  +
    /// <p>If an update attempts to install a dependency package that is now rejected by the baseline, when previous versions of the package were not rejected, the package being updated is reported as <code>MISSING</code> for <code>SCAN</code> operations and as <code>FAILED</code> for <code>INSTALL</code> operations.</p></li>
         122  +
    /// </ul>
         123  +
    /// </dd>
         124  +
    /// </dl>
         125  +
    pub fn rejected_patches_action(&self) -> ::std::option::Option<&crate::types::PatchAction> {
         126  +
        self.rejected_patches_action.as_ref()
         127  +
    }
         128  +
    /// <p>A description of the patch baseline.</p>
         129  +
    pub fn description(&self) -> ::std::option::Option<&str> {
         130  +
        self.description.as_deref()
         131  +
    }
         132  +
    /// <p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>
         133  +
    ///
         134  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.sources.is_none()`.
         135  +
    pub fn sources(&self) -> &[crate::types::PatchSource] {
         136  +
        self.sources.as_deref().unwrap_or_default()
         137  +
    }
         138  +
    /// <p>Indicates the status to be assigned to security patches that are available but not approved because they don't meet the installation criteria specified in the patch baseline.</p>
         139  +
    /// <p>Example scenario: Security patches that you might want installed can be skipped if you have specified a long period to wait after a patch is released before installation. If an update to the patch is released during your specified waiting period, the waiting period for installing the patch starts over. If the waiting period is too long, multiple versions of the patch could be released but never installed.</p>
         140  +
    /// <p>Supported for Windows Server managed nodes only.</p>
         141  +
    pub fn available_security_updates_compliance_status(&self) -> ::std::option::Option<&crate::types::PatchComplianceStatus> {
         142  +
        self.available_security_updates_compliance_status.as_ref()
         143  +
    }
         144  +
    /// <p>If True, then all fields that are required by the <code>CreatePatchBaseline</code> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>
         145  +
    pub fn replace(&self) -> ::std::option::Option<bool> {
         146  +
        self.replace
         147  +
    }
         148  +
}
         149  +
static UPDATEPATCHBASELINEINPUT_MEMBER_BASELINE_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         150  +
    ::aws_smithy_schema::ShapeId::from_parts(
         151  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$BaselineId",
         152  +
        "com.amazonaws.ssm.synthetic",
         153  +
        "UpdatePatchBaselineInput",
         154  +
    ),
         155  +
    ::aws_smithy_schema::ShapeType::String,
         156  +
    "BaselineId",
         157  +
    0,
         158  +
);
         159  +
static UPDATEPATCHBASELINEINPUT_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         160  +
    ::aws_smithy_schema::ShapeId::from_parts(
         161  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$Name",
         162  +
        "com.amazonaws.ssm.synthetic",
         163  +
        "UpdatePatchBaselineInput",
         164  +
    ),
         165  +
    ::aws_smithy_schema::ShapeType::String,
         166  +
    "Name",
         167  +
    1,
         168  +
);
         169  +
static UPDATEPATCHBASELINEINPUT_MEMBER_GLOBAL_FILTERS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         170  +
    ::aws_smithy_schema::ShapeId::from_parts(
         171  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$GlobalFilters",
         172  +
        "com.amazonaws.ssm.synthetic",
         173  +
        "UpdatePatchBaselineInput",
         174  +
    ),
         175  +
    ::aws_smithy_schema::ShapeType::Structure,
         176  +
    "GlobalFilters",
         177  +
    2,
         178  +
);
         179  +
static UPDATEPATCHBASELINEINPUT_MEMBER_APPROVAL_RULES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         180  +
    ::aws_smithy_schema::ShapeId::from_parts(
         181  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$ApprovalRules",
         182  +
        "com.amazonaws.ssm.synthetic",
         183  +
        "UpdatePatchBaselineInput",
         184  +
    ),
         185  +
    ::aws_smithy_schema::ShapeType::Structure,
         186  +
    "ApprovalRules",
         187  +
    3,
         188  +
);
         189  +
static UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         190  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#PatchIdList$member", "com.amazonaws.ssm", "PatchIdList"),
         191  +
    ::aws_smithy_schema::ShapeType::String,
         192  +
    "member",
         193  +
    0,
         194  +
);
         195  +
static UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         196  +
    ::aws_smithy_schema::ShapeId::from_parts(
         197  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$ApprovedPatches",
         198  +
        "com.amazonaws.ssm.synthetic",
         199  +
        "UpdatePatchBaselineInput",
         200  +
    ),
         201  +
    ::aws_smithy_schema::ShapeType::List,
         202  +
    "ApprovedPatches",
         203  +
    4,
         204  +
)
         205  +
.with_list_member(&UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES_MEMBER);
         206  +
static UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES_COMPLIANCE_LEVEL: ::aws_smithy_schema::Schema<'static> =
         207  +
    ::aws_smithy_schema::Schema::new_member(
         208  +
        ::aws_smithy_schema::ShapeId::from_parts(
         209  +
            "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$ApprovedPatchesComplianceLevel",
         210  +
            "com.amazonaws.ssm.synthetic",
         211  +
            "UpdatePatchBaselineInput",
         212  +
        ),
         213  +
        ::aws_smithy_schema::ShapeType::String,
         214  +
        "ApprovedPatchesComplianceLevel",
         215  +
        5,
         216  +
    );
         217  +
static UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES_ENABLE_NON_SECURITY: ::aws_smithy_schema::Schema<'static> =
         218  +
    ::aws_smithy_schema::Schema::new_member(
         219  +
        ::aws_smithy_schema::ShapeId::from_parts(
         220  +
            "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$ApprovedPatchesEnableNonSecurity",
         221  +
            "com.amazonaws.ssm.synthetic",
         222  +
            "UpdatePatchBaselineInput",
         223  +
        ),
         224  +
        ::aws_smithy_schema::ShapeType::Boolean,
         225  +
        "ApprovedPatchesEnableNonSecurity",
         226  +
        6,
         227  +
    );
         228  +
static UPDATEPATCHBASELINEINPUT_MEMBER_REJECTED_PATCHES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         229  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#PatchIdList$member", "com.amazonaws.ssm", "PatchIdList"),
         230  +
    ::aws_smithy_schema::ShapeType::String,
         231  +
    "member",
         232  +
    0,
         233  +
);
         234  +
static UPDATEPATCHBASELINEINPUT_MEMBER_REJECTED_PATCHES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         235  +
    ::aws_smithy_schema::ShapeId::from_parts(
         236  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$RejectedPatches",
         237  +
        "com.amazonaws.ssm.synthetic",
         238  +
        "UpdatePatchBaselineInput",
         239  +
    ),
         240  +
    ::aws_smithy_schema::ShapeType::List,
         241  +
    "RejectedPatches",
         242  +
    7,
         243  +
)
         244  +
.with_list_member(&UPDATEPATCHBASELINEINPUT_MEMBER_REJECTED_PATCHES_MEMBER);
         245  +
static UPDATEPATCHBASELINEINPUT_MEMBER_REJECTED_PATCHES_ACTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         246  +
    ::aws_smithy_schema::ShapeId::from_parts(
         247  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$RejectedPatchesAction",
         248  +
        "com.amazonaws.ssm.synthetic",
         249  +
        "UpdatePatchBaselineInput",
         250  +
    ),
         251  +
    ::aws_smithy_schema::ShapeType::String,
         252  +
    "RejectedPatchesAction",
         253  +
    8,
         254  +
);
         255  +
static UPDATEPATCHBASELINEINPUT_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         256  +
    ::aws_smithy_schema::ShapeId::from_parts(
         257  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$Description",
         258  +
        "com.amazonaws.ssm.synthetic",
         259  +
        "UpdatePatchBaselineInput",
         260  +
    ),
         261  +
    ::aws_smithy_schema::ShapeType::String,
         262  +
    "Description",
         263  +
    9,
         264  +
);
         265  +
static UPDATEPATCHBASELINEINPUT_MEMBER_SOURCES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         266  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#PatchSourceList$member", "com.amazonaws.ssm", "PatchSourceList"),
         267  +
    ::aws_smithy_schema::ShapeType::Structure,
         268  +
    "member",
         269  +
    0,
         270  +
);
         271  +
static UPDATEPATCHBASELINEINPUT_MEMBER_SOURCES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         272  +
    ::aws_smithy_schema::ShapeId::from_parts(
         273  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$Sources",
         274  +
        "com.amazonaws.ssm.synthetic",
         275  +
        "UpdatePatchBaselineInput",
         276  +
    ),
         277  +
    ::aws_smithy_schema::ShapeType::List,
         278  +
    "Sources",
         279  +
    10,
         280  +
)
         281  +
.with_list_member(&UPDATEPATCHBASELINEINPUT_MEMBER_SOURCES_MEMBER);
         282  +
static UPDATEPATCHBASELINEINPUT_MEMBER_AVAILABLE_SECURITY_UPDATES_COMPLIANCE_STATUS: ::aws_smithy_schema::Schema<'static> =
         283  +
    ::aws_smithy_schema::Schema::new_member(
         284  +
        ::aws_smithy_schema::ShapeId::from_parts(
         285  +
            "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$AvailableSecurityUpdatesComplianceStatus",
         286  +
            "com.amazonaws.ssm.synthetic",
         287  +
            "UpdatePatchBaselineInput",
         288  +
        ),
         289  +
        ::aws_smithy_schema::ShapeType::String,
         290  +
        "AvailableSecurityUpdatesComplianceStatus",
         291  +
        11,
         292  +
    );
         293  +
static UPDATEPATCHBASELINEINPUT_MEMBER_REPLACE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         294  +
    ::aws_smithy_schema::ShapeId::from_parts(
         295  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput$Replace",
         296  +
        "com.amazonaws.ssm.synthetic",
         297  +
        "UpdatePatchBaselineInput",
         298  +
    ),
         299  +
    ::aws_smithy_schema::ShapeType::Boolean,
         300  +
    "Replace",
         301  +
    12,
         302  +
);
         303  +
static UPDATEPATCHBASELINEINPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         304  +
    ::aws_smithy_schema::ShapeId::from_parts(
         305  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineInput",
         306  +
        "com.amazonaws.ssm.synthetic",
         307  +
        "UpdatePatchBaselineInput",
         308  +
    ),
         309  +
    ::aws_smithy_schema::ShapeType::Structure,
         310  +
    &[
         311  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_BASELINE_ID,
         312  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_NAME,
         313  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_GLOBAL_FILTERS,
         314  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_APPROVAL_RULES,
         315  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES,
         316  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES_COMPLIANCE_LEVEL,
         317  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES_ENABLE_NON_SECURITY,
         318  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_REJECTED_PATCHES,
         319  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_REJECTED_PATCHES_ACTION,
         320  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_DESCRIPTION,
         321  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_SOURCES,
         322  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_AVAILABLE_SECURITY_UPDATES_COMPLIANCE_STATUS,
         323  +
        &UPDATEPATCHBASELINEINPUT_MEMBER_REPLACE,
         324  +
    ],
         325  +
)
         326  +
.with_payload_hint(::aws_smithy_schema::PayloadHint::NoStructPayload)
         327  +
.with_original_name("UpdatePatchBaselineRequest");
         328  +
impl UpdatePatchBaselineInput {
         329  +
    /// The schema for this shape.
         330  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &UPDATEPATCHBASELINEINPUT_SCHEMA;
         331  +
}
         332  +
impl ::aws_smithy_schema::serde::SerializableStruct for UpdatePatchBaselineInput {
         333  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         334  +
    fn serialize_members(
         335  +
        &self,
         336  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         337  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         338  +
        if let Some(ref val) = self.baseline_id {
         339  +
            ser.write_string(&UPDATEPATCHBASELINEINPUT_MEMBER_BASELINE_ID, val)?;
         340  +
        }
         341  +
        if let Some(ref val) = self.name {
         342  +
            ser.write_string(&UPDATEPATCHBASELINEINPUT_MEMBER_NAME, val)?;
         343  +
        }
         344  +
        if let Some(ref val) = self.global_filters {
         345  +
            ser.write_struct(&UPDATEPATCHBASELINEINPUT_MEMBER_GLOBAL_FILTERS, val)?;
         346  +
        }
         347  +
        if let Some(ref val) = self.approval_rules {
         348  +
            ser.write_struct(&UPDATEPATCHBASELINEINPUT_MEMBER_APPROVAL_RULES, val)?;
         349  +
        }
         350  +
        if let Some(ref val) = self.approved_patches {
         351  +
            ser.write_list(
         352  +
                &UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES,
         353  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         354  +
                    for item in val {
         355  +
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
         356  +
                    }
         357  +
                    Ok(())
         358  +
                },
         359  +
            )?;
         360  +
        }
         361  +
        if let Some(ref val) = self.approved_patches_compliance_level {
         362  +
            ser.write_string(&UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES_COMPLIANCE_LEVEL, val.as_str())?;
         363  +
        }
         364  +
        if let Some(ref val) = self.approved_patches_enable_non_security {
         365  +
            ser.write_boolean(&UPDATEPATCHBASELINEINPUT_MEMBER_APPROVED_PATCHES_ENABLE_NON_SECURITY, *val)?;
         366  +
        }
         367  +
        if let Some(ref val) = self.rejected_patches {
         368  +
            ser.write_list(
         369  +
                &UPDATEPATCHBASELINEINPUT_MEMBER_REJECTED_PATCHES,
         370  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         371  +
                    for item in val {
         372  +
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
         373  +
                    }
         374  +
                    Ok(())
         375  +
                },
         376  +
            )?;
         377  +
        }
         378  +
        if let Some(ref val) = self.rejected_patches_action {
         379  +
            ser.write_string(&UPDATEPATCHBASELINEINPUT_MEMBER_REJECTED_PATCHES_ACTION, val.as_str())?;
         380  +
        }
         381  +
        if let Some(ref val) = self.description {
         382  +
            ser.write_string(&UPDATEPATCHBASELINEINPUT_MEMBER_DESCRIPTION, val)?;
         383  +
        }
         384  +
        if let Some(ref val) = self.sources {
         385  +
            ser.write_list(
         386  +
                &UPDATEPATCHBASELINEINPUT_MEMBER_SOURCES,
         387  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         388  +
                    for item in val {
         389  +
                        ser.write_struct(crate::types::PatchSource::SCHEMA, item)?;
         390  +
                    }
         391  +
                    Ok(())
         392  +
                },
         393  +
            )?;
         394  +
        }
         395  +
        if let Some(ref val) = self.available_security_updates_compliance_status {
         396  +
            ser.write_string(
         397  +
                &UPDATEPATCHBASELINEINPUT_MEMBER_AVAILABLE_SECURITY_UPDATES_COMPLIANCE_STATUS,
         398  +
                val.as_str(),
         399  +
            )?;
         400  +
        }
         401  +
        if let Some(ref val) = self.replace {
         402  +
            ser.write_boolean(&UPDATEPATCHBASELINEINPUT_MEMBER_REPLACE, *val)?;
         403  +
        }
         404  +
        Ok(())
         405  +
    }
         406  +
}
         407  +
impl UpdatePatchBaselineInput {
         408  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         409  +
    pub fn deserialize(
         410  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         411  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         412  +
        #[allow(unused_variables, unused_mut)]
         413  +
        let mut builder = Self::builder();
         414  +
        #[allow(
         415  +
            unused_variables,
         416  +
            unreachable_code,
         417  +
            clippy::single_match,
         418  +
            clippy::match_single_binding,
         419  +
            clippy::diverging_sub_expression
         420  +
        )]
         421  +
        deserializer.read_struct(&UPDATEPATCHBASELINEINPUT_SCHEMA, &mut |member, deser| {
         422  +
            match member.member_index() {
         423  +
                Some(0) => {
         424  +
                    if deser.is_null() {
         425  +
                        deser.read_null()?;
         426  +
                    } else {
         427  +
                        builder.baseline_id = Some(deser.read_string(member)?);
         428  +
                    }
         429  +
                }
         430  +
                Some(1) => {
         431  +
                    if deser.is_null() {
         432  +
                        deser.read_null()?;
         433  +
                    } else {
         434  +
                        builder.name = Some(deser.read_string(member)?);
         435  +
                    }
         436  +
                }
         437  +
                Some(2) => {
         438  +
                    if deser.is_null() {
         439  +
                        deser.read_null()?;
         440  +
                    } else {
         441  +
                        builder.global_filters = Some(crate::types::PatchFilterGroup::deserialize(deser)?);
         442  +
                    }
         443  +
                }
         444  +
                Some(3) => {
         445  +
                    if deser.is_null() {
         446  +
                        deser.read_null()?;
         447  +
                    } else {
         448  +
                        builder.approval_rules = Some(crate::types::PatchRuleGroup::deserialize(deser)?);
         449  +
                    }
         450  +
                }
         451  +
                Some(4) => {
         452  +
                    if deser.is_null() {
         453  +
                        deser.read_null()?;
         454  +
                    } else {
         455  +
                        builder.approved_patches = Some(deser.read_string_list(member)?);
         456  +
                    }
         457  +
                }
         458  +
                Some(5) => {
         459  +
                    if deser.is_null() {
         460  +
                        deser.read_null()?;
         461  +
                    } else {
         462  +
                        builder.approved_patches_compliance_level =
         463  +
                            Some(crate::types::PatchComplianceLevel::from(deser.read_string(member)?.as_str()));
         464  +
                    }
         465  +
                }
         466  +
                Some(6) => {
         467  +
                    if deser.is_null() {
         468  +
                        deser.read_null()?;
         469  +
                    } else {
         470  +
                        builder.approved_patches_enable_non_security = Some(deser.read_boolean(member)?);
         471  +
                    }
         472  +
                }
         473  +
                Some(7) => {
         474  +
                    if deser.is_null() {
         475  +
                        deser.read_null()?;
         476  +
                    } else {
         477  +
                        builder.rejected_patches = Some(deser.read_string_list(member)?);
         478  +
                    }
         479  +
                }
         480  +
                Some(8) => {
         481  +
                    if deser.is_null() {
         482  +
                        deser.read_null()?;
         483  +
                    } else {
         484  +
                        builder.rejected_patches_action = Some(crate::types::PatchAction::from(deser.read_string(member)?.as_str()));
         485  +
                    }
         486  +
                }
         487  +
                Some(9) => {
         488  +
                    if deser.is_null() {
         489  +
                        deser.read_null()?;
         490  +
                    } else {
         491  +
                        builder.description = Some(deser.read_string(member)?);
         492  +
                    }
         493  +
                }
         494  +
                Some(10) => {
         495  +
                    if deser.is_null() {
         496  +
                        deser.read_null()?;
         497  +
                    } else {
         498  +
                        builder.sources = Some({
         499  +
                            let mut container = Vec::new();
         500  +
                            deser.read_list(member, &mut |deser| {
         501  +
                                container.push(crate::types::PatchSource::deserialize(deser)?);
         502  +
                                Ok(())
         503  +
                            })?;
         504  +
                            container
         505  +
                        });
         506  +
                    }
         507  +
                }
         508  +
                Some(11) => {
         509  +
                    if deser.is_null() {
         510  +
                        deser.read_null()?;
         511  +
                    } else {
         512  +
                        builder.available_security_updates_compliance_status =
         513  +
                            Some(crate::types::PatchComplianceStatus::from(deser.read_string(member)?.as_str()));
         514  +
                    }
         515  +
                }
         516  +
                Some(12) => {
         517  +
                    if deser.is_null() {
         518  +
                        deser.read_null()?;
         519  +
                    } else {
         520  +
                        builder.replace = Some(deser.read_boolean(member)?);
         521  +
                    }
         522  +
                }
         523  +
                _ => {}
         524  +
            }
         525  +
            Ok(())
         526  +
        })?;
         527  +
        builder.baseline_id = builder.baseline_id.or(Some(String::new()));
         528  +
        builder.build().map_err(|e| aws_smithy_schema::serde::SerdeError::custom(e.to_string()))
         529  +
    }
         530  +
}
         531  +
impl UpdatePatchBaselineInput {
         532  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         533  +
    pub fn deserialize_with_response(
         534  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         535  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         536  +
        _status: u16,
         537  +
        _body: &[u8],
         538  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         539  +
        Self::deserialize(deserializer)
         540  +
    }
         541  +
}
         542  +
impl UpdatePatchBaselineInput {
         543  +
    /// Creates a new builder-style object to manufacture [`UpdatePatchBaselineInput`](crate::operation::update_patch_baseline::UpdatePatchBaselineInput).
         544  +
    pub fn builder() -> crate::operation::update_patch_baseline::builders::UpdatePatchBaselineInputBuilder {
         545  +
        crate::operation::update_patch_baseline::builders::UpdatePatchBaselineInputBuilder::default()
         546  +
    }
         547  +
}
         548  +
         549  +
/// A builder for [`UpdatePatchBaselineInput`](crate::operation::update_patch_baseline::UpdatePatchBaselineInput).
         550  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         551  +
#[non_exhaustive]
         552  +
pub struct UpdatePatchBaselineInputBuilder {
         553  +
    pub(crate) baseline_id: ::std::option::Option<::std::string::String>,
         554  +
    pub(crate) name: ::std::option::Option<::std::string::String>,
         555  +
    pub(crate) global_filters: ::std::option::Option<crate::types::PatchFilterGroup>,
         556  +
    pub(crate) approval_rules: ::std::option::Option<crate::types::PatchRuleGroup>,
         557  +
    pub(crate) approved_patches: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         558  +
    pub(crate) approved_patches_compliance_level: ::std::option::Option<crate::types::PatchComplianceLevel>,
         559  +
    pub(crate) approved_patches_enable_non_security: ::std::option::Option<bool>,
         560  +
    pub(crate) rejected_patches: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         561  +
    pub(crate) rejected_patches_action: ::std::option::Option<crate::types::PatchAction>,
         562  +
    pub(crate) description: ::std::option::Option<::std::string::String>,
         563  +
    pub(crate) sources: ::std::option::Option<::std::vec::Vec<crate::types::PatchSource>>,
         564  +
    pub(crate) available_security_updates_compliance_status: ::std::option::Option<crate::types::PatchComplianceStatus>,
         565  +
    pub(crate) replace: ::std::option::Option<bool>,
         566  +
}
         567  +
impl UpdatePatchBaselineInputBuilder {
         568  +
    /// <p>The ID of the patch baseline to update.</p>
         569  +
    /// This field is required.
         570  +
    pub fn baseline_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         571  +
        self.baseline_id = ::std::option::Option::Some(input.into());
         572  +
        self
         573  +
    }
         574  +
    /// <p>The ID of the patch baseline to update.</p>
         575  +
    pub fn set_baseline_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         576  +
        self.baseline_id = input;
         577  +
        self
         578  +
    }
         579  +
    /// <p>The ID of the patch baseline to update.</p>
         580  +
    pub fn get_baseline_id(&self) -> &::std::option::Option<::std::string::String> {
         581  +
        &self.baseline_id
         582  +
    }
         583  +
    /// <p>The name of the patch baseline.</p>
         584  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         585  +
        self.name = ::std::option::Option::Some(input.into());
         586  +
        self
         587  +
    }
         588  +
    /// <p>The name of the patch baseline.</p>
         589  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         590  +
        self.name = input;
         591  +
        self
         592  +
    }
         593  +
    /// <p>The name of the patch baseline.</p>
         594  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         595  +
        &self.name
         596  +
    }
         597  +
    /// <p>A set of global filters used to include patches in the baseline.</p><important>
         598  +
    /// <p>The <code>GlobalFilters</code> parameter can be configured only by using the CLI or an Amazon Web Services SDK. It can't be configured from the Patch Manager console, and its value isn't displayed in the console.</p>
         599  +
    /// </important>
         600  +
    pub fn global_filters(mut self, input: crate::types::PatchFilterGroup) -> Self {
         601  +
        self.global_filters = ::std::option::Option::Some(input);
         602  +
        self
         603  +
    }
         604  +
    /// <p>A set of global filters used to include patches in the baseline.</p><important>
         605  +
    /// <p>The <code>GlobalFilters</code> parameter can be configured only by using the CLI or an Amazon Web Services SDK. It can't be configured from the Patch Manager console, and its value isn't displayed in the console.</p>
         606  +
    /// </important>
         607  +
    pub fn set_global_filters(mut self, input: ::std::option::Option<crate::types::PatchFilterGroup>) -> Self {
         608  +
        self.global_filters = input;
         609  +
        self
         610  +
    }
         611  +
    /// <p>A set of global filters used to include patches in the baseline.</p><important>
         612  +
    /// <p>The <code>GlobalFilters</code> parameter can be configured only by using the CLI or an Amazon Web Services SDK. It can't be configured from the Patch Manager console, and its value isn't displayed in the console.</p>
         613  +
    /// </important>
         614  +
    pub fn get_global_filters(&self) -> &::std::option::Option<crate::types::PatchFilterGroup> {
         615  +
        &self.global_filters
         616  +
    }
         617  +
    /// <p>A set of rules used to include patches in the baseline.</p>
         618  +
    pub fn approval_rules(mut self, input: crate::types::PatchRuleGroup) -> Self {
         619  +
        self.approval_rules = ::std::option::Option::Some(input);
         620  +
        self
         621  +
    }
         622  +
    /// <p>A set of rules used to include patches in the baseline.</p>
         623  +
    pub fn set_approval_rules(mut self, input: ::std::option::Option<crate::types::PatchRuleGroup>) -> Self {
         624  +
        self.approval_rules = input;
         625  +
        self
         626  +
    }
         627  +
    /// <p>A set of rules used to include patches in the baseline.</p>
         628  +
    pub fn get_approval_rules(&self) -> &::std::option::Option<crate::types::PatchRuleGroup> {
         629  +
        &self.approval_rules
         630  +
    }
         631  +
    /// Appends an item to `approved_patches`.
         632  +
    ///
         633  +
    /// To override the contents of this collection use [`set_approved_patches`](Self::set_approved_patches).
         634  +
    ///
         635  +
    /// <p>A list of explicitly approved patches for the baseline.</p>
         636  +
    /// <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         637  +
    pub fn approved_patches(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         638  +
        let mut v = self.approved_patches.unwrap_or_default();
         639  +
        v.push(input.into());
         640  +
        self.approved_patches = ::std::option::Option::Some(v);
         641  +
        self
         642  +
    }
         643  +
    /// <p>A list of explicitly approved patches for the baseline.</p>
         644  +
    /// <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         645  +
    pub fn set_approved_patches(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         646  +
        self.approved_patches = input;
         647  +
        self
         648  +
    }
         649  +
    /// <p>A list of explicitly approved patches for the baseline.</p>
         650  +
    /// <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         651  +
    pub fn get_approved_patches(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         652  +
        &self.approved_patches
         653  +
    }
         654  +
    /// <p>Assigns a new compliance severity level to an existing patch baseline.</p>
         655  +
    pub fn approved_patches_compliance_level(mut self, input: crate::types::PatchComplianceLevel) -> Self {
         656  +
        self.approved_patches_compliance_level = ::std::option::Option::Some(input);
         657  +
        self
         658  +
    }
         659  +
    /// <p>Assigns a new compliance severity level to an existing patch baseline.</p>
         660  +
    pub fn set_approved_patches_compliance_level(mut self, input: ::std::option::Option<crate::types::PatchComplianceLevel>) -> Self {
         661  +
        self.approved_patches_compliance_level = input;
         662  +
        self
         663  +
    }
         664  +
    /// <p>Assigns a new compliance severity level to an existing patch baseline.</p>
         665  +
    pub fn get_approved_patches_compliance_level(&self) -> &::std::option::Option<crate::types::PatchComplianceLevel> {
         666  +
        &self.approved_patches_compliance_level
         667  +
    }
         668  +
    /// <p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>
         669  +
    pub fn approved_patches_enable_non_security(mut self, input: bool) -> Self {
         670  +
        self.approved_patches_enable_non_security = ::std::option::Option::Some(input);
         671  +
        self
         672  +
    }
         673  +
    /// <p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>
         674  +
    pub fn set_approved_patches_enable_non_security(mut self, input: ::std::option::Option<bool>) -> Self {
         675  +
        self.approved_patches_enable_non_security = input;
         676  +
        self
         677  +
    }
         678  +
    /// <p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>
         679  +
    pub fn get_approved_patches_enable_non_security(&self) -> &::std::option::Option<bool> {
         680  +
        &self.approved_patches_enable_non_security
         681  +
    }
         682  +
    /// Appends an item to `rejected_patches`.
         683  +
    ///
         684  +
    /// To override the contents of this collection use [`set_rejected_patches`](Self::set_rejected_patches).
         685  +
    ///
         686  +
    /// <p>A list of explicitly rejected patches for the baseline.</p>
         687  +
    /// <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         688  +
    pub fn rejected_patches(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         689  +
        let mut v = self.rejected_patches.unwrap_or_default();
         690  +
        v.push(input.into());
         691  +
        self.rejected_patches = ::std::option::Option::Some(v);
         692  +
        self
         693  +
    }
         694  +
    /// <p>A list of explicitly rejected patches for the baseline.</p>
         695  +
    /// <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         696  +
    pub fn set_rejected_patches(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         697  +
        self.rejected_patches = input;
         698  +
        self
         699  +
    }
         700  +
    /// <p>A list of explicitly rejected patches for the baseline.</p>
         701  +
    /// <p>For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         702  +
    pub fn get_rejected_patches(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         703  +
        &self.rejected_patches
         704  +
    }
         705  +
    /// <p>The action for Patch Manager to take on patches included in the <code>RejectedPackages</code> list.</p>
         706  +
    /// <dl>
         707  +
    /// <dt>
         708  +
    /// ALLOW_AS_DEPENDENCY
         709  +
    /// </dt>
         710  +
    /// <dd>
         711  +
    /// <p><b>Linux and macOS</b>: A package in the rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as <code>INSTALLED_OTHER</code>. This is the default action if no option is specified.</p>
         712  +
    /// <p><b>Windows Server</b>: Windows Server doesn't support the concept of package dependencies. If a package in the rejected patches list and already installed on the node, its status is reported as <code>INSTALLED_OTHER</code>. Any package not already installed on the node is skipped. This is the default action if no option is specified.</p>
         713  +
    /// </dd>
         714  +
    /// <dt>
         715  +
    /// BLOCK
         716  +
    /// </dt>
         717  +
    /// <dd>
         718  +
    /// <p><b>All OSs</b>: Packages in the rejected patches list, and packages that include them as dependencies, aren't installed by Patch Manager under any circumstances.</p>
         719  +
    /// <p>State value assignment for patch compliance:</p>
         720  +
    /// <ul>
         721  +
    /// <li>
         722  +
    /// <p>If a package was installed before it was added to the rejected patches list, or is installed outside of Patch Manager afterward, it's considered noncompliant with the patch baseline and its status is reported as <code>INSTALLED_REJECTED</code>.</p></li>
         723  +
    /// <li>
         724  +
    /// <p>If an update attempts to install a dependency package that is now rejected by the baseline, when previous versions of the package were not rejected, the package being updated is reported as <code>MISSING</code> for <code>SCAN</code> operations and as <code>FAILED</code> for <code>INSTALL</code> operations.</p></li>
         725  +
    /// </ul>
         726  +
    /// </dd>
         727  +
    /// </dl>
         728  +
    pub fn rejected_patches_action(mut self, input: crate::types::PatchAction) -> Self {
         729  +
        self.rejected_patches_action = ::std::option::Option::Some(input);
         730  +
        self
         731  +
    }
         732  +
    /// <p>The action for Patch Manager to take on patches included in the <code>RejectedPackages</code> list.</p>
         733  +
    /// <dl>
         734  +
    /// <dt>
         735  +
    /// ALLOW_AS_DEPENDENCY
         736  +
    /// </dt>
         737  +
    /// <dd>
         738  +
    /// <p><b>Linux and macOS</b>: A package in the rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as <code>INSTALLED_OTHER</code>. This is the default action if no option is specified.</p>
         739  +
    /// <p><b>Windows Server</b>: Windows Server doesn't support the concept of package dependencies. If a package in the rejected patches list and already installed on the node, its status is reported as <code>INSTALLED_OTHER</code>. Any package not already installed on the node is skipped. This is the default action if no option is specified.</p>
         740  +
    /// </dd>
         741  +
    /// <dt>
         742  +
    /// BLOCK
         743  +
    /// </dt>
         744  +
    /// <dd>
         745  +
    /// <p><b>All OSs</b>: Packages in the rejected patches list, and packages that include them as dependencies, aren't installed by Patch Manager under any circumstances.</p>
         746  +
    /// <p>State value assignment for patch compliance:</p>
         747  +
    /// <ul>
         748  +
    /// <li>
         749  +
    /// <p>If a package was installed before it was added to the rejected patches list, or is installed outside of Patch Manager afterward, it's considered noncompliant with the patch baseline and its status is reported as <code>INSTALLED_REJECTED</code>.</p></li>
         750  +
    /// <li>
         751  +
    /// <p>If an update attempts to install a dependency package that is now rejected by the baseline, when previous versions of the package were not rejected, the package being updated is reported as <code>MISSING</code> for <code>SCAN</code> operations and as <code>FAILED</code> for <code>INSTALL</code> operations.</p></li>
         752  +
    /// </ul>
         753  +
    /// </dd>
         754  +
    /// </dl>
         755  +
    pub fn set_rejected_patches_action(mut self, input: ::std::option::Option<crate::types::PatchAction>) -> Self {
         756  +
        self.rejected_patches_action = input;
         757  +
        self
         758  +
    }
         759  +
    /// <p>The action for Patch Manager to take on patches included in the <code>RejectedPackages</code> list.</p>
         760  +
    /// <dl>
         761  +
    /// <dt>
         762  +
    /// ALLOW_AS_DEPENDENCY
         763  +
    /// </dt>
         764  +
    /// <dd>
         765  +
    /// <p><b>Linux and macOS</b>: A package in the rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as <code>INSTALLED_OTHER</code>. This is the default action if no option is specified.</p>
         766  +
    /// <p><b>Windows Server</b>: Windows Server doesn't support the concept of package dependencies. If a package in the rejected patches list and already installed on the node, its status is reported as <code>INSTALLED_OTHER</code>. Any package not already installed on the node is skipped. This is the default action if no option is specified.</p>
         767  +
    /// </dd>
         768  +
    /// <dt>
         769  +
    /// BLOCK
         770  +
    /// </dt>
         771  +
    /// <dd>
         772  +
    /// <p><b>All OSs</b>: Packages in the rejected patches list, and packages that include them as dependencies, aren't installed by Patch Manager under any circumstances.</p>
         773  +
    /// <p>State value assignment for patch compliance:</p>
         774  +
    /// <ul>
         775  +
    /// <li>
         776  +
    /// <p>If a package was installed before it was added to the rejected patches list, or is installed outside of Patch Manager afterward, it's considered noncompliant with the patch baseline and its status is reported as <code>INSTALLED_REJECTED</code>.</p></li>
         777  +
    /// <li>
         778  +
    /// <p>If an update attempts to install a dependency package that is now rejected by the baseline, when previous versions of the package were not rejected, the package being updated is reported as <code>MISSING</code> for <code>SCAN</code> operations and as <code>FAILED</code> for <code>INSTALL</code> operations.</p></li>
         779  +
    /// </ul>
         780  +
    /// </dd>
         781  +
    /// </dl>
         782  +
    pub fn get_rejected_patches_action(&self) -> &::std::option::Option<crate::types::PatchAction> {
         783  +
        &self.rejected_patches_action
         784  +
    }
         785  +
    /// <p>A description of the patch baseline.</p>
         786  +
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         787  +
        self.description = ::std::option::Option::Some(input.into());
         788  +
        self
         789  +
    }
         790  +
    /// <p>A description of the patch baseline.</p>
         791  +
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         792  +
        self.description = input;
         793  +
        self
         794  +
    }
         795  +
    /// <p>A description of the patch baseline.</p>
         796  +
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
         797  +
        &self.description
         798  +
    }
         799  +
    /// Appends an item to `sources`.
         800  +
    ///
         801  +
    /// To override the contents of this collection use [`set_sources`](Self::set_sources).
         802  +
    ///
         803  +
    /// <p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>
         804  +
    pub fn sources(mut self, input: crate::types::PatchSource) -> Self {
         805  +
        let mut v = self.sources.unwrap_or_default();
         806  +
        v.push(input);
         807  +
        self.sources = ::std::option::Option::Some(v);
         808  +
        self
         809  +
    }
         810  +
    /// <p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>
         811  +
    pub fn set_sources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PatchSource>>) -> Self {
         812  +
        self.sources = input;
         813  +
        self
         814  +
    }
         815  +
    /// <p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>
         816  +
    pub fn get_sources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PatchSource>> {
         817  +
        &self.sources
         818  +
    }
         819  +
    /// <p>Indicates the status to be assigned to security patches that are available but not approved because they don't meet the installation criteria specified in the patch baseline.</p>
         820  +
    /// <p>Example scenario: Security patches that you might want installed can be skipped if you have specified a long period to wait after a patch is released before installation. If an update to the patch is released during your specified waiting period, the waiting period for installing the patch starts over. If the waiting period is too long, multiple versions of the patch could be released but never installed.</p>
         821  +
    /// <p>Supported for Windows Server managed nodes only.</p>
         822  +
    pub fn available_security_updates_compliance_status(mut self, input: crate::types::PatchComplianceStatus) -> Self {
         823  +
        self.available_security_updates_compliance_status = ::std::option::Option::Some(input);
         824  +
        self
         825  +
    }
         826  +
    /// <p>Indicates the status to be assigned to security patches that are available but not approved because they don't meet the installation criteria specified in the patch baseline.</p>
         827  +
    /// <p>Example scenario: Security patches that you might want installed can be skipped if you have specified a long period to wait after a patch is released before installation. If an update to the patch is released during your specified waiting period, the waiting period for installing the patch starts over. If the waiting period is too long, multiple versions of the patch could be released but never installed.</p>
         828  +
    /// <p>Supported for Windows Server managed nodes only.</p>
         829  +
    pub fn set_available_security_updates_compliance_status(mut self, input: ::std::option::Option<crate::types::PatchComplianceStatus>) -> Self {
         830  +
        self.available_security_updates_compliance_status = input;
         831  +
        self
         832  +
    }
         833  +
    /// <p>Indicates the status to be assigned to security patches that are available but not approved because they don't meet the installation criteria specified in the patch baseline.</p>
         834  +
    /// <p>Example scenario: Security patches that you might want installed can be skipped if you have specified a long period to wait after a patch is released before installation. If an update to the patch is released during your specified waiting period, the waiting period for installing the patch starts over. If the waiting period is too long, multiple versions of the patch could be released but never installed.</p>
         835  +
    /// <p>Supported for Windows Server managed nodes only.</p>
         836  +
    pub fn get_available_security_updates_compliance_status(&self) -> &::std::option::Option<crate::types::PatchComplianceStatus> {
         837  +
        &self.available_security_updates_compliance_status
         838  +
    }
         839  +
    /// <p>If True, then all fields that are required by the <code>CreatePatchBaseline</code> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>
         840  +
    pub fn replace(mut self, input: bool) -> Self {
         841  +
        self.replace = ::std::option::Option::Some(input);
         842  +
        self
         843  +
    }
         844  +
    /// <p>If True, then all fields that are required by the <code>CreatePatchBaseline</code> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>
         845  +
    pub fn set_replace(mut self, input: ::std::option::Option<bool>) -> Self {
         846  +
        self.replace = input;
         847  +
        self
         848  +
    }
         849  +
    /// <p>If True, then all fields that are required by the <code>CreatePatchBaseline</code> operation are also required for this API request. Optional fields that aren't specified are set to null.</p>
         850  +
    pub fn get_replace(&self) -> &::std::option::Option<bool> {
         851  +
        &self.replace
         852  +
    }
         853  +
    /// Consumes the builder and constructs a [`UpdatePatchBaselineInput`](crate::operation::update_patch_baseline::UpdatePatchBaselineInput).
         854  +
    pub fn build(
         855  +
        self,
         856  +
    ) -> ::std::result::Result<crate::operation::update_patch_baseline::UpdatePatchBaselineInput, ::aws_smithy_types::error::operation::BuildError>
         857  +
    {
         858  +
        ::std::result::Result::Ok(crate::operation::update_patch_baseline::UpdatePatchBaselineInput {
         859  +
            baseline_id: self.baseline_id,
         860  +
            name: self.name,
         861  +
            global_filters: self.global_filters,
         862  +
            approval_rules: self.approval_rules,
         863  +
            approved_patches: self.approved_patches,
         864  +
            approved_patches_compliance_level: self.approved_patches_compliance_level,
         865  +
            approved_patches_enable_non_security: self.approved_patches_enable_non_security,
         866  +
            rejected_patches: self.rejected_patches,
         867  +
            rejected_patches_action: self.rejected_patches_action,
         868  +
            description: self.description,
         869  +
            sources: self.sources,
         870  +
            available_security_updates_compliance_status: self.available_security_updates_compliance_status,
         871  +
            replace: self.replace,
         872  +
        })
         873  +
    }
         874  +
}

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

@@ -0,1 +0,927 @@
           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, ::std::fmt::Debug)]
           5  +
pub struct UpdatePatchBaselineOutput {
           6  +
    /// <p>The ID of the deleted patch baseline.</p>
           7  +
    pub baseline_id: ::std::option::Option<::std::string::String>,
           8  +
    /// <p>The name of the patch baseline.</p>
           9  +
    pub name: ::std::option::Option<::std::string::String>,
          10  +
    /// <p>The operating system rule used by the updated patch baseline.</p>
          11  +
    pub operating_system: ::std::option::Option<crate::types::OperatingSystem>,
          12  +
    /// <p>A set of global filters used to exclude patches from the baseline.</p>
          13  +
    pub global_filters: ::std::option::Option<crate::types::PatchFilterGroup>,
          14  +
    /// <p>A set of rules used to include patches in the baseline.</p>
          15  +
    pub approval_rules: ::std::option::Option<crate::types::PatchRuleGroup>,
          16  +
    /// <p>A list of explicitly approved patches for the baseline.</p>
          17  +
    pub approved_patches: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
          18  +
    /// <p>The compliance severity level assigned to the patch baseline after the update completed.</p>
          19  +
    pub approved_patches_compliance_level: ::std::option::Option<crate::types::PatchComplianceLevel>,
          20  +
    /// <p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>
          21  +
    pub approved_patches_enable_non_security: ::std::option::Option<bool>,
          22  +
    /// <p>A list of explicitly rejected patches for the baseline.</p>
          23  +
    pub rejected_patches: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
          24  +
    /// <p>The action specified to take on patches included in the <code>RejectedPatches</code> list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.</p>
          25  +
    pub rejected_patches_action: ::std::option::Option<crate::types::PatchAction>,
          26  +
    /// <p>The date when the patch baseline was created.</p>
          27  +
    pub created_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          28  +
    /// <p>The date when the patch baseline was last modified.</p>
          29  +
    pub modified_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          30  +
    /// <p>A description of the patch baseline.</p>
          31  +
    pub description: ::std::option::Option<::std::string::String>,
          32  +
    /// <p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>
          33  +
    pub sources: ::std::option::Option<::std::vec::Vec<crate::types::PatchSource>>,
          34  +
    /// <p>Indicates the compliance status of managed nodes for which security-related patches are available but were not approved. This preference is specified when the <code>CreatePatchBaseline</code> or <code>UpdatePatchBaseline</code> commands are run.</p>
          35  +
    /// <p>Applies to Windows Server managed nodes only.</p>
          36  +
    pub available_security_updates_compliance_status: ::std::option::Option<crate::types::PatchComplianceStatus>,
          37  +
    _request_id: Option<String>,
          38  +
}
          39  +
impl UpdatePatchBaselineOutput {
          40  +
    /// <p>The ID of the deleted patch baseline.</p>
          41  +
    pub fn baseline_id(&self) -> ::std::option::Option<&str> {
          42  +
        self.baseline_id.as_deref()
          43  +
    }
          44  +
    /// <p>The name of the patch baseline.</p>
          45  +
    pub fn name(&self) -> ::std::option::Option<&str> {
          46  +
        self.name.as_deref()
          47  +
    }
          48  +
    /// <p>The operating system rule used by the updated patch baseline.</p>
          49  +
    pub fn operating_system(&self) -> ::std::option::Option<&crate::types::OperatingSystem> {
          50  +
        self.operating_system.as_ref()
          51  +
    }
          52  +
    /// <p>A set of global filters used to exclude patches from the baseline.</p>
          53  +
    pub fn global_filters(&self) -> ::std::option::Option<&crate::types::PatchFilterGroup> {
          54  +
        self.global_filters.as_ref()
          55  +
    }
          56  +
    /// <p>A set of rules used to include patches in the baseline.</p>
          57  +
    pub fn approval_rules(&self) -> ::std::option::Option<&crate::types::PatchRuleGroup> {
          58  +
        self.approval_rules.as_ref()
          59  +
    }
          60  +
    /// <p>A list of explicitly approved patches for the baseline.</p>
          61  +
    ///
          62  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.approved_patches.is_none()`.
          63  +
    pub fn approved_patches(&self) -> &[::std::string::String] {
          64  +
        self.approved_patches.as_deref().unwrap_or_default()
          65  +
    }
          66  +
    /// <p>The compliance severity level assigned to the patch baseline after the update completed.</p>
          67  +
    pub fn approved_patches_compliance_level(&self) -> ::std::option::Option<&crate::types::PatchComplianceLevel> {
          68  +
        self.approved_patches_compliance_level.as_ref()
          69  +
    }
          70  +
    /// <p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>
          71  +
    pub fn approved_patches_enable_non_security(&self) -> ::std::option::Option<bool> {
          72  +
        self.approved_patches_enable_non_security
          73  +
    }
          74  +
    /// <p>A list of explicitly rejected patches for the baseline.</p>
          75  +
    ///
          76  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.rejected_patches.is_none()`.
          77  +
    pub fn rejected_patches(&self) -> &[::std::string::String] {
          78  +
        self.rejected_patches.as_deref().unwrap_or_default()
          79  +
    }
          80  +
    /// <p>The action specified to take on patches included in the <code>RejectedPatches</code> list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.</p>
          81  +
    pub fn rejected_patches_action(&self) -> ::std::option::Option<&crate::types::PatchAction> {
          82  +
        self.rejected_patches_action.as_ref()
          83  +
    }
          84  +
    /// <p>The date when the patch baseline was created.</p>
          85  +
    pub fn created_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          86  +
        self.created_date.as_ref()
          87  +
    }
          88  +
    /// <p>The date when the patch baseline was last modified.</p>
          89  +
    pub fn modified_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          90  +
        self.modified_date.as_ref()
          91  +
    }
          92  +
    /// <p>A description of the patch baseline.</p>
          93  +
    pub fn description(&self) -> ::std::option::Option<&str> {
          94  +
        self.description.as_deref()
          95  +
    }
          96  +
    /// <p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>
          97  +
    ///
          98  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.sources.is_none()`.
          99  +
    pub fn sources(&self) -> &[crate::types::PatchSource] {
         100  +
        self.sources.as_deref().unwrap_or_default()
         101  +
    }
         102  +
    /// <p>Indicates the compliance status of managed nodes for which security-related patches are available but were not approved. This preference is specified when the <code>CreatePatchBaseline</code> or <code>UpdatePatchBaseline</code> commands are run.</p>
         103  +
    /// <p>Applies to Windows Server managed nodes only.</p>
         104  +
    pub fn available_security_updates_compliance_status(&self) -> ::std::option::Option<&crate::types::PatchComplianceStatus> {
         105  +
        self.available_security_updates_compliance_status.as_ref()
         106  +
    }
         107  +
}
         108  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_BASELINE_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         109  +
    ::aws_smithy_schema::ShapeId::from_parts(
         110  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$BaselineId",
         111  +
        "com.amazonaws.ssm.synthetic",
         112  +
        "UpdatePatchBaselineOutput",
         113  +
    ),
         114  +
    ::aws_smithy_schema::ShapeType::String,
         115  +
    "BaselineId",
         116  +
    0,
         117  +
);
         118  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         119  +
    ::aws_smithy_schema::ShapeId::from_parts(
         120  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$Name",
         121  +
        "com.amazonaws.ssm.synthetic",
         122  +
        "UpdatePatchBaselineOutput",
         123  +
    ),
         124  +
    ::aws_smithy_schema::ShapeType::String,
         125  +
    "Name",
         126  +
    1,
         127  +
);
         128  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_OPERATING_SYSTEM: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         129  +
    ::aws_smithy_schema::ShapeId::from_parts(
         130  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$OperatingSystem",
         131  +
        "com.amazonaws.ssm.synthetic",
         132  +
        "UpdatePatchBaselineOutput",
         133  +
    ),
         134  +
    ::aws_smithy_schema::ShapeType::String,
         135  +
    "OperatingSystem",
         136  +
    2,
         137  +
);
         138  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_GLOBAL_FILTERS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         139  +
    ::aws_smithy_schema::ShapeId::from_parts(
         140  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$GlobalFilters",
         141  +
        "com.amazonaws.ssm.synthetic",
         142  +
        "UpdatePatchBaselineOutput",
         143  +
    ),
         144  +
    ::aws_smithy_schema::ShapeType::Structure,
         145  +
    "GlobalFilters",
         146  +
    3,
         147  +
);
         148  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVAL_RULES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         149  +
    ::aws_smithy_schema::ShapeId::from_parts(
         150  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$ApprovalRules",
         151  +
        "com.amazonaws.ssm.synthetic",
         152  +
        "UpdatePatchBaselineOutput",
         153  +
    ),
         154  +
    ::aws_smithy_schema::ShapeType::Structure,
         155  +
    "ApprovalRules",
         156  +
    4,
         157  +
);
         158  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         159  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#PatchIdList$member", "com.amazonaws.ssm", "PatchIdList"),
         160  +
    ::aws_smithy_schema::ShapeType::String,
         161  +
    "member",
         162  +
    0,
         163  +
);
         164  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         165  +
    ::aws_smithy_schema::ShapeId::from_parts(
         166  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$ApprovedPatches",
         167  +
        "com.amazonaws.ssm.synthetic",
         168  +
        "UpdatePatchBaselineOutput",
         169  +
    ),
         170  +
    ::aws_smithy_schema::ShapeType::List,
         171  +
    "ApprovedPatches",
         172  +
    5,
         173  +
)
         174  +
.with_list_member(&UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES_MEMBER);
         175  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES_COMPLIANCE_LEVEL: ::aws_smithy_schema::Schema<'static> =
         176  +
    ::aws_smithy_schema::Schema::new_member(
         177  +
        ::aws_smithy_schema::ShapeId::from_parts(
         178  +
            "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$ApprovedPatchesComplianceLevel",
         179  +
            "com.amazonaws.ssm.synthetic",
         180  +
            "UpdatePatchBaselineOutput",
         181  +
        ),
         182  +
        ::aws_smithy_schema::ShapeType::String,
         183  +
        "ApprovedPatchesComplianceLevel",
         184  +
        6,
         185  +
    );
         186  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES_ENABLE_NON_SECURITY: ::aws_smithy_schema::Schema<'static> =
         187  +
    ::aws_smithy_schema::Schema::new_member(
         188  +
        ::aws_smithy_schema::ShapeId::from_parts(
         189  +
            "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$ApprovedPatchesEnableNonSecurity",
         190  +
            "com.amazonaws.ssm.synthetic",
         191  +
            "UpdatePatchBaselineOutput",
         192  +
        ),
         193  +
        ::aws_smithy_schema::ShapeType::Boolean,
         194  +
        "ApprovedPatchesEnableNonSecurity",
         195  +
        7,
         196  +
    );
         197  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_REJECTED_PATCHES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         198  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#PatchIdList$member", "com.amazonaws.ssm", "PatchIdList"),
         199  +
    ::aws_smithy_schema::ShapeType::String,
         200  +
    "member",
         201  +
    0,
         202  +
);
         203  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_REJECTED_PATCHES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         204  +
    ::aws_smithy_schema::ShapeId::from_parts(
         205  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$RejectedPatches",
         206  +
        "com.amazonaws.ssm.synthetic",
         207  +
        "UpdatePatchBaselineOutput",
         208  +
    ),
         209  +
    ::aws_smithy_schema::ShapeType::List,
         210  +
    "RejectedPatches",
         211  +
    8,
         212  +
)
         213  +
.with_list_member(&UPDATEPATCHBASELINEOUTPUT_MEMBER_REJECTED_PATCHES_MEMBER);
         214  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_REJECTED_PATCHES_ACTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         215  +
    ::aws_smithy_schema::ShapeId::from_parts(
         216  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$RejectedPatchesAction",
         217  +
        "com.amazonaws.ssm.synthetic",
         218  +
        "UpdatePatchBaselineOutput",
         219  +
    ),
         220  +
    ::aws_smithy_schema::ShapeType::String,
         221  +
    "RejectedPatchesAction",
         222  +
    9,
         223  +
);
         224  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_CREATED_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         225  +
    ::aws_smithy_schema::ShapeId::from_parts(
         226  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$CreatedDate",
         227  +
        "com.amazonaws.ssm.synthetic",
         228  +
        "UpdatePatchBaselineOutput",
         229  +
    ),
         230  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         231  +
    "CreatedDate",
         232  +
    10,
         233  +
);
         234  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_MODIFIED_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         235  +
    ::aws_smithy_schema::ShapeId::from_parts(
         236  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$ModifiedDate",
         237  +
        "com.amazonaws.ssm.synthetic",
         238  +
        "UpdatePatchBaselineOutput",
         239  +
    ),
         240  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         241  +
    "ModifiedDate",
         242  +
    11,
         243  +
);
         244  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         245  +
    ::aws_smithy_schema::ShapeId::from_parts(
         246  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$Description",
         247  +
        "com.amazonaws.ssm.synthetic",
         248  +
        "UpdatePatchBaselineOutput",
         249  +
    ),
         250  +
    ::aws_smithy_schema::ShapeType::String,
         251  +
    "Description",
         252  +
    12,
         253  +
);
         254  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_SOURCES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         255  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#PatchSourceList$member", "com.amazonaws.ssm", "PatchSourceList"),
         256  +
    ::aws_smithy_schema::ShapeType::Structure,
         257  +
    "member",
         258  +
    0,
         259  +
);
         260  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_SOURCES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         261  +
    ::aws_smithy_schema::ShapeId::from_parts(
         262  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$Sources",
         263  +
        "com.amazonaws.ssm.synthetic",
         264  +
        "UpdatePatchBaselineOutput",
         265  +
    ),
         266  +
    ::aws_smithy_schema::ShapeType::List,
         267  +
    "Sources",
         268  +
    13,
         269  +
)
         270  +
.with_list_member(&UPDATEPATCHBASELINEOUTPUT_MEMBER_SOURCES_MEMBER);
         271  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER_AVAILABLE_SECURITY_UPDATES_COMPLIANCE_STATUS: ::aws_smithy_schema::Schema<'static> =
         272  +
    ::aws_smithy_schema::Schema::new_member(
         273  +
        ::aws_smithy_schema::ShapeId::from_parts(
         274  +
            "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput$AvailableSecurityUpdatesComplianceStatus",
         275  +
            "com.amazonaws.ssm.synthetic",
         276  +
            "UpdatePatchBaselineOutput",
         277  +
        ),
         278  +
        ::aws_smithy_schema::ShapeType::String,
         279  +
        "AvailableSecurityUpdatesComplianceStatus",
         280  +
        14,
         281  +
    );
         282  +
static UPDATEPATCHBASELINEOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         283  +
    ::aws_smithy_schema::ShapeId::from_parts("synthetic#request_id", "synthetic", "request_id"),
         284  +
    ::aws_smithy_schema::ShapeType::String,
         285  +
    "request_id",
         286  +
    15,
         287  +
)
         288  +
.with_http_header("x-amzn-requestid");
         289  +
static UPDATEPATCHBASELINEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         290  +
    ::aws_smithy_schema::ShapeId::from_parts(
         291  +
        "com.amazonaws.ssm.synthetic#UpdatePatchBaselineOutput",
         292  +
        "com.amazonaws.ssm.synthetic",
         293  +
        "UpdatePatchBaselineOutput",
         294  +
    ),
         295  +
    ::aws_smithy_schema::ShapeType::Structure,
         296  +
    &[
         297  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_BASELINE_ID,
         298  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_NAME,
         299  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_OPERATING_SYSTEM,
         300  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_GLOBAL_FILTERS,
         301  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVAL_RULES,
         302  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES,
         303  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES_COMPLIANCE_LEVEL,
         304  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES_ENABLE_NON_SECURITY,
         305  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_REJECTED_PATCHES,
         306  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_REJECTED_PATCHES_ACTION,
         307  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_CREATED_DATE,
         308  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_MODIFIED_DATE,
         309  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_DESCRIPTION,
         310  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_SOURCES,
         311  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER_AVAILABLE_SECURITY_UPDATES_COMPLIANCE_STATUS,
         312  +
        &UPDATEPATCHBASELINEOUTPUT_MEMBER__REQUEST_ID,
         313  +
    ],
         314  +
)
         315  +
.with_original_name("UpdatePatchBaselineResult");
         316  +
impl UpdatePatchBaselineOutput {
         317  +
    /// The schema for this shape.
         318  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &UPDATEPATCHBASELINEOUTPUT_SCHEMA;
         319  +
}
         320  +
impl ::aws_smithy_schema::serde::SerializableStruct for UpdatePatchBaselineOutput {
         321  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         322  +
    fn serialize_members(
         323  +
        &self,
         324  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         325  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         326  +
        if let Some(ref val) = self.baseline_id {
         327  +
            ser.write_string(&UPDATEPATCHBASELINEOUTPUT_MEMBER_BASELINE_ID, val)?;
         328  +
        }
         329  +
        if let Some(ref val) = self.name {
         330  +
            ser.write_string(&UPDATEPATCHBASELINEOUTPUT_MEMBER_NAME, val)?;
         331  +
        }
         332  +
        if let Some(ref val) = self.operating_system {
         333  +
            ser.write_string(&UPDATEPATCHBASELINEOUTPUT_MEMBER_OPERATING_SYSTEM, val.as_str())?;
         334  +
        }
         335  +
        if let Some(ref val) = self.global_filters {
         336  +
            ser.write_struct(&UPDATEPATCHBASELINEOUTPUT_MEMBER_GLOBAL_FILTERS, val)?;
         337  +
        }
         338  +
        if let Some(ref val) = self.approval_rules {
         339  +
            ser.write_struct(&UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVAL_RULES, val)?;
         340  +
        }
         341  +
        if let Some(ref val) = self.approved_patches {
         342  +
            ser.write_list(
         343  +
                &UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES,
         344  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         345  +
                    for item in val {
         346  +
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
         347  +
                    }
         348  +
                    Ok(())
         349  +
                },
         350  +
            )?;
         351  +
        }
         352  +
        if let Some(ref val) = self.approved_patches_compliance_level {
         353  +
            ser.write_string(&UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES_COMPLIANCE_LEVEL, val.as_str())?;
         354  +
        }
         355  +
        if let Some(ref val) = self.approved_patches_enable_non_security {
         356  +
            ser.write_boolean(&UPDATEPATCHBASELINEOUTPUT_MEMBER_APPROVED_PATCHES_ENABLE_NON_SECURITY, *val)?;
         357  +
        }
         358  +
        if let Some(ref val) = self.rejected_patches {
         359  +
            ser.write_list(
         360  +
                &UPDATEPATCHBASELINEOUTPUT_MEMBER_REJECTED_PATCHES,
         361  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         362  +
                    for item in val {
         363  +
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
         364  +
                    }
         365  +
                    Ok(())
         366  +
                },
         367  +
            )?;
         368  +
        }
         369  +
        if let Some(ref val) = self.rejected_patches_action {
         370  +
            ser.write_string(&UPDATEPATCHBASELINEOUTPUT_MEMBER_REJECTED_PATCHES_ACTION, val.as_str())?;
         371  +
        }
         372  +
        if let Some(ref val) = self.created_date {
         373  +
            ser.write_timestamp(&UPDATEPATCHBASELINEOUTPUT_MEMBER_CREATED_DATE, val)?;
         374  +
        }
         375  +
        if let Some(ref val) = self.modified_date {
         376  +
            ser.write_timestamp(&UPDATEPATCHBASELINEOUTPUT_MEMBER_MODIFIED_DATE, val)?;
         377  +
        }
         378  +
        if let Some(ref val) = self.description {
         379  +
            ser.write_string(&UPDATEPATCHBASELINEOUTPUT_MEMBER_DESCRIPTION, val)?;
         380  +
        }
         381  +
        if let Some(ref val) = self.sources {
         382  +
            ser.write_list(
         383  +
                &UPDATEPATCHBASELINEOUTPUT_MEMBER_SOURCES,
         384  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         385  +
                    for item in val {
         386  +
                        ser.write_struct(crate::types::PatchSource::SCHEMA, item)?;
         387  +
                    }
         388  +
                    Ok(())
         389  +
                },
         390  +
            )?;
         391  +
        }
         392  +
        if let Some(ref val) = self.available_security_updates_compliance_status {
         393  +
            ser.write_string(
         394  +
                &UPDATEPATCHBASELINEOUTPUT_MEMBER_AVAILABLE_SECURITY_UPDATES_COMPLIANCE_STATUS,
         395  +
                val.as_str(),
         396  +
            )?;
         397  +
        }
         398  +
        Ok(())
         399  +
    }
         400  +
}
         401  +
impl UpdatePatchBaselineOutput {
         402  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         403  +
    pub fn deserialize(
         404  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         405  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         406  +
        #[allow(unused_variables, unused_mut)]
         407  +
        let mut builder = Self::builder();
         408  +
        #[allow(
         409  +
            unused_variables,
         410  +
            unreachable_code,
         411  +
            clippy::single_match,
         412  +
            clippy::match_single_binding,
         413  +
            clippy::diverging_sub_expression
         414  +
        )]
         415  +
        deserializer.read_struct(&UPDATEPATCHBASELINEOUTPUT_SCHEMA, &mut |member, deser| {
         416  +
            match member.member_index() {
         417  +
                Some(0) => {
         418  +
                    if deser.is_null() {
         419  +
                        deser.read_null()?;
         420  +
                    } else {
         421  +
                        builder.baseline_id = Some(deser.read_string(member)?);
         422  +
                    }
         423  +
                }
         424  +
                Some(1) => {
         425  +
                    if deser.is_null() {
         426  +
                        deser.read_null()?;
         427  +
                    } else {
         428  +
                        builder.name = Some(deser.read_string(member)?);
         429  +
                    }
         430  +
                }
         431  +
                Some(2) => {
         432  +
                    if deser.is_null() {
         433  +
                        deser.read_null()?;
         434  +
                    } else {
         435  +
                        builder.operating_system = Some(crate::types::OperatingSystem::from(deser.read_string(member)?.as_str()));
         436  +
                    }
         437  +
                }
         438  +
                Some(3) => {
         439  +
                    if deser.is_null() {
         440  +
                        deser.read_null()?;
         441  +
                    } else {
         442  +
                        builder.global_filters = Some(crate::types::PatchFilterGroup::deserialize(deser)?);
         443  +
                    }
         444  +
                }
         445  +
                Some(4) => {
         446  +
                    if deser.is_null() {
         447  +
                        deser.read_null()?;
         448  +
                    } else {
         449  +
                        builder.approval_rules = Some(crate::types::PatchRuleGroup::deserialize(deser)?);
         450  +
                    }
         451  +
                }
         452  +
                Some(5) => {
         453  +
                    if deser.is_null() {
         454  +
                        deser.read_null()?;
         455  +
                    } else {
         456  +
                        builder.approved_patches = Some(deser.read_string_list(member)?);
         457  +
                    }
         458  +
                }
         459  +
                Some(6) => {
         460  +
                    if deser.is_null() {
         461  +
                        deser.read_null()?;
         462  +
                    } else {
         463  +
                        builder.approved_patches_compliance_level =
         464  +
                            Some(crate::types::PatchComplianceLevel::from(deser.read_string(member)?.as_str()));
         465  +
                    }
         466  +
                }
         467  +
                Some(7) => {
         468  +
                    if deser.is_null() {
         469  +
                        deser.read_null()?;
         470  +
                    } else {
         471  +
                        builder.approved_patches_enable_non_security = Some(deser.read_boolean(member)?);
         472  +
                    }
         473  +
                }
         474  +
                Some(8) => {
         475  +
                    if deser.is_null() {
         476  +
                        deser.read_null()?;
         477  +
                    } else {
         478  +
                        builder.rejected_patches = Some(deser.read_string_list(member)?);
         479  +
                    }
         480  +
                }
         481  +
                Some(9) => {
         482  +
                    if deser.is_null() {
         483  +
                        deser.read_null()?;
         484  +
                    } else {
         485  +
                        builder.rejected_patches_action = Some(crate::types::PatchAction::from(deser.read_string(member)?.as_str()));
         486  +
                    }
         487  +
                }
         488  +
                Some(10) => {
         489  +
                    if deser.is_null() {
         490  +
                        deser.read_null()?;
         491  +
                    } else {
         492  +
                        builder.created_date = Some(deser.read_timestamp(member)?);
         493  +
                    }
         494  +
                }
         495  +
                Some(11) => {
         496  +
                    if deser.is_null() {
         497  +
                        deser.read_null()?;
         498  +
                    } else {
         499  +
                        builder.modified_date = Some(deser.read_timestamp(member)?);
         500  +
                    }
         501  +
                }
         502  +
                Some(12) => {
         503  +
                    if deser.is_null() {
         504  +
                        deser.read_null()?;
         505  +
                    } else {
         506  +
                        builder.description = Some(deser.read_string(member)?);
         507  +
                    }
         508  +
                }
         509  +
                Some(13) => {
         510  +
                    if deser.is_null() {
         511  +
                        deser.read_null()?;
         512  +
                    } else {
         513  +
                        builder.sources = Some({
         514  +
                            let mut container = Vec::new();
         515  +
                            deser.read_list(member, &mut |deser| {
         516  +
                                container.push(crate::types::PatchSource::deserialize(deser)?);
         517  +
                                Ok(())
         518  +
                            })?;
         519  +
                            container
         520  +
                        });
         521  +
                    }
         522  +
                }
         523  +
                Some(14) => {
         524  +
                    if deser.is_null() {
         525  +
                        deser.read_null()?;
         526  +
                    } else {
         527  +
                        builder.available_security_updates_compliance_status =
         528  +
                            Some(crate::types::PatchComplianceStatus::from(deser.read_string(member)?.as_str()));
         529  +
                    }
         530  +
                }
         531  +
                Some(15) => {
         532  +
                    builder._request_id = Some(deser.read_string(member)?);
         533  +
                }
         534  +
                _ => {}
         535  +
            }
         536  +
            Ok(())
         537  +
        })?;
         538  +
        Ok(builder.build())
         539  +
    }
         540  +
}
         541  +
impl UpdatePatchBaselineOutput {
         542  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         543  +
    /// Header-bound members are read directly from headers, avoiding runtime
         544  +
    /// member iteration overhead. Body members are read via the deserializer.
         545  +
    pub fn deserialize_with_response(
         546  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         547  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         548  +
        _status: u16,
         549  +
        _body: &[u8],
         550  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         551  +
        #[allow(unused_variables, unused_mut)]
         552  +
        let mut builder = Self::builder();
         553  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         554  +
            builder._request_id = Some(val.to_string());
         555  +
        }
         556  +
         557  +
        #[allow(
         558  +
            unused_variables,
         559  +
            unreachable_code,
         560  +
            clippy::single_match,
         561  +
            clippy::match_single_binding,
         562  +
            clippy::diverging_sub_expression
         563  +
        )]
         564  +
        deserializer.read_struct(&UPDATEPATCHBASELINEOUTPUT_SCHEMA, &mut |member, deser| {
         565  +
            match member.member_index() {
         566  +
                Some(0) => {
         567  +
                    builder.baseline_id = Some(deser.read_string(member)?);
         568  +
                }
         569  +
                Some(1) => {
         570  +
                    builder.name = Some(deser.read_string(member)?);
         571  +
                }
         572  +
                Some(2) => {
         573  +
                    builder.operating_system = Some(crate::types::OperatingSystem::from(deser.read_string(member)?.as_str()));
         574  +
                }
         575  +
                Some(3) => {
         576  +
                    builder.global_filters = Some(crate::types::PatchFilterGroup::deserialize(deser)?);
         577  +
                }
         578  +
                Some(4) => {
         579  +
                    builder.approval_rules = Some(crate::types::PatchRuleGroup::deserialize(deser)?);
         580  +
                }
         581  +
                Some(5) => {
         582  +
                    builder.approved_patches = Some(deser.read_string_list(member)?);
         583  +
                }
         584  +
                Some(6) => {
         585  +
                    builder.approved_patches_compliance_level = Some(crate::types::PatchComplianceLevel::from(deser.read_string(member)?.as_str()));
         586  +
                }
         587  +
                Some(7) => {
         588  +
                    builder.approved_patches_enable_non_security = Some(deser.read_boolean(member)?);
         589  +
                }
         590  +
                Some(8) => {
         591  +
                    builder.rejected_patches = Some(deser.read_string_list(member)?);
         592  +
                }
         593  +
                Some(9) => {
         594  +
                    builder.rejected_patches_action = Some(crate::types::PatchAction::from(deser.read_string(member)?.as_str()));
         595  +
                }
         596  +
                Some(10) => {
         597  +
                    builder.created_date = Some(deser.read_timestamp(member)?);
         598  +
                }
         599  +
                Some(11) => {
         600  +
                    builder.modified_date = Some(deser.read_timestamp(member)?);
         601  +
                }
         602  +
                Some(12) => {
         603  +
                    builder.description = Some(deser.read_string(member)?);
         604  +
                }
         605  +
                Some(13) => {
         606  +
                    builder.sources = Some({
         607  +
                        let mut container = Vec::new();
         608  +
                        deser.read_list(member, &mut |deser| {
         609  +
                            container.push(crate::types::PatchSource::deserialize(deser)?);
         610  +
                            Ok(())
         611  +
                        })?;
         612  +
                        container
         613  +
                    });
         614  +
                }
         615  +
                Some(14) => {
         616  +
                    builder.available_security_updates_compliance_status =
         617  +
                        Some(crate::types::PatchComplianceStatus::from(deser.read_string(member)?.as_str()));
         618  +
                }
         619  +
                _ => {}
         620  +
            }
         621  +
            Ok(())
         622  +
        })?;
         623  +
        Ok(builder.build())
         624  +
    }
         625  +
}
         626  +
impl ::aws_types::request_id::RequestId for UpdatePatchBaselineOutput {
         627  +
    fn request_id(&self) -> Option<&str> {
         628  +
        self._request_id.as_deref()
         629  +
    }
         630  +
}
         631  +
impl UpdatePatchBaselineOutput {
         632  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         633  +
        self._request_id = request_id;
         634  +
        self
         635  +
    }
         636  +
}
         637  +
impl UpdatePatchBaselineOutput {
         638  +
    /// Creates a new builder-style object to manufacture [`UpdatePatchBaselineOutput`](crate::operation::update_patch_baseline::UpdatePatchBaselineOutput).
         639  +
    pub fn builder() -> crate::operation::update_patch_baseline::builders::UpdatePatchBaselineOutputBuilder {
         640  +
        crate::operation::update_patch_baseline::builders::UpdatePatchBaselineOutputBuilder::default()
         641  +
    }
         642  +
}
         643  +
         644  +
/// A builder for [`UpdatePatchBaselineOutput`](crate::operation::update_patch_baseline::UpdatePatchBaselineOutput).
         645  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         646  +
#[non_exhaustive]
         647  +
pub struct UpdatePatchBaselineOutputBuilder {
         648  +
    pub(crate) baseline_id: ::std::option::Option<::std::string::String>,
         649  +
    pub(crate) name: ::std::option::Option<::std::string::String>,
         650  +
    pub(crate) operating_system: ::std::option::Option<crate::types::OperatingSystem>,
         651  +
    pub(crate) global_filters: ::std::option::Option<crate::types::PatchFilterGroup>,
         652  +
    pub(crate) approval_rules: ::std::option::Option<crate::types::PatchRuleGroup>,
         653  +
    pub(crate) approved_patches: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         654  +
    pub(crate) approved_patches_compliance_level: ::std::option::Option<crate::types::PatchComplianceLevel>,
         655  +
    pub(crate) approved_patches_enable_non_security: ::std::option::Option<bool>,
         656  +
    pub(crate) rejected_patches: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         657  +
    pub(crate) rejected_patches_action: ::std::option::Option<crate::types::PatchAction>,
         658  +
    pub(crate) created_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         659  +
    pub(crate) modified_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         660  +
    pub(crate) description: ::std::option::Option<::std::string::String>,
         661  +
    pub(crate) sources: ::std::option::Option<::std::vec::Vec<crate::types::PatchSource>>,
         662  +
    pub(crate) available_security_updates_compliance_status: ::std::option::Option<crate::types::PatchComplianceStatus>,
         663  +
    _request_id: Option<String>,
         664  +
}
         665  +
impl UpdatePatchBaselineOutputBuilder {
         666  +
    /// <p>The ID of the deleted patch baseline.</p>
         667  +
    pub fn baseline_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         668  +
        self.baseline_id = ::std::option::Option::Some(input.into());
         669  +
        self
         670  +
    }
         671  +
    /// <p>The ID of the deleted patch baseline.</p>
         672  +
    pub fn set_baseline_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         673  +
        self.baseline_id = input;
         674  +
        self
         675  +
    }
         676  +
    /// <p>The ID of the deleted patch baseline.</p>
         677  +
    pub fn get_baseline_id(&self) -> &::std::option::Option<::std::string::String> {
         678  +
        &self.baseline_id
         679  +
    }
         680  +
    /// <p>The name of the patch baseline.</p>
         681  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         682  +
        self.name = ::std::option::Option::Some(input.into());
         683  +
        self
         684  +
    }
         685  +
    /// <p>The name of the patch baseline.</p>
         686  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         687  +
        self.name = input;
         688  +
        self
         689  +
    }
         690  +
    /// <p>The name of the patch baseline.</p>
         691  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         692  +
        &self.name
         693  +
    }
         694  +
    /// <p>The operating system rule used by the updated patch baseline.</p>
         695  +
    pub fn operating_system(mut self, input: crate::types::OperatingSystem) -> Self {
         696  +
        self.operating_system = ::std::option::Option::Some(input);
         697  +
        self
         698  +
    }
         699  +
    /// <p>The operating system rule used by the updated patch baseline.</p>
         700  +
    pub fn set_operating_system(mut self, input: ::std::option::Option<crate::types::OperatingSystem>) -> Self {
         701  +
        self.operating_system = input;
         702  +
        self
         703  +
    }
         704  +
    /// <p>The operating system rule used by the updated patch baseline.</p>
         705  +
    pub fn get_operating_system(&self) -> &::std::option::Option<crate::types::OperatingSystem> {
         706  +
        &self.operating_system
         707  +
    }
         708  +
    /// <p>A set of global filters used to exclude patches from the baseline.</p>
         709  +
    pub fn global_filters(mut self, input: crate::types::PatchFilterGroup) -> Self {
         710  +
        self.global_filters = ::std::option::Option::Some(input);
         711  +
        self
         712  +
    }
         713  +
    /// <p>A set of global filters used to exclude patches from the baseline.</p>
         714  +
    pub fn set_global_filters(mut self, input: ::std::option::Option<crate::types::PatchFilterGroup>) -> Self {
         715  +
        self.global_filters = input;
         716  +
        self
         717  +
    }
         718  +
    /// <p>A set of global filters used to exclude patches from the baseline.</p>
         719  +
    pub fn get_global_filters(&self) -> &::std::option::Option<crate::types::PatchFilterGroup> {
         720  +
        &self.global_filters
         721  +
    }
         722  +
    /// <p>A set of rules used to include patches in the baseline.</p>
         723  +
    pub fn approval_rules(mut self, input: crate::types::PatchRuleGroup) -> Self {
         724  +
        self.approval_rules = ::std::option::Option::Some(input);
         725  +
        self
         726  +
    }
         727  +
    /// <p>A set of rules used to include patches in the baseline.</p>
         728  +
    pub fn set_approval_rules(mut self, input: ::std::option::Option<crate::types::PatchRuleGroup>) -> Self {
         729  +
        self.approval_rules = input;
         730  +
        self
         731  +
    }
         732  +
    /// <p>A set of rules used to include patches in the baseline.</p>
         733  +
    pub fn get_approval_rules(&self) -> &::std::option::Option<crate::types::PatchRuleGroup> {
         734  +
        &self.approval_rules
         735  +
    }
         736  +
    /// Appends an item to `approved_patches`.
         737  +
    ///
         738  +
    /// To override the contents of this collection use [`set_approved_patches`](Self::set_approved_patches).
         739  +
    ///
         740  +
    /// <p>A list of explicitly approved patches for the baseline.</p>
         741  +
    pub fn approved_patches(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         742  +
        let mut v = self.approved_patches.unwrap_or_default();
         743  +
        v.push(input.into());
         744  +
        self.approved_patches = ::std::option::Option::Some(v);
         745  +
        self
         746  +
    }
         747  +
    /// <p>A list of explicitly approved patches for the baseline.</p>
         748  +
    pub fn set_approved_patches(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         749  +
        self.approved_patches = input;
         750  +
        self
         751  +
    }
         752  +
    /// <p>A list of explicitly approved patches for the baseline.</p>
         753  +
    pub fn get_approved_patches(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         754  +
        &self.approved_patches
         755  +
    }
         756  +
    /// <p>The compliance severity level assigned to the patch baseline after the update completed.</p>
         757  +
    pub fn approved_patches_compliance_level(mut self, input: crate::types::PatchComplianceLevel) -> Self {
         758  +
        self.approved_patches_compliance_level = ::std::option::Option::Some(input);
         759  +
        self
         760  +
    }
         761  +
    /// <p>The compliance severity level assigned to the patch baseline after the update completed.</p>
         762  +
    pub fn set_approved_patches_compliance_level(mut self, input: ::std::option::Option<crate::types::PatchComplianceLevel>) -> Self {
         763  +
        self.approved_patches_compliance_level = input;
         764  +
        self
         765  +
    }
         766  +
    /// <p>The compliance severity level assigned to the patch baseline after the update completed.</p>
         767  +
    pub fn get_approved_patches_compliance_level(&self) -> &::std::option::Option<crate::types::PatchComplianceLevel> {
         768  +
        &self.approved_patches_compliance_level
         769  +
    }
         770  +
    /// <p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>
         771  +
    pub fn approved_patches_enable_non_security(mut self, input: bool) -> Self {
         772  +
        self.approved_patches_enable_non_security = ::std::option::Option::Some(input);
         773  +
        self
         774  +
    }
         775  +
    /// <p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>
         776  +
    pub fn set_approved_patches_enable_non_security(mut self, input: ::std::option::Option<bool>) -> Self {
         777  +
        self.approved_patches_enable_non_security = input;
         778  +
        self
         779  +
    }
         780  +
    /// <p>Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.</p>
         781  +
    pub fn get_approved_patches_enable_non_security(&self) -> &::std::option::Option<bool> {
         782  +
        &self.approved_patches_enable_non_security
         783  +
    }
         784  +
    /// Appends an item to `rejected_patches`.
         785  +
    ///
         786  +
    /// To override the contents of this collection use [`set_rejected_patches`](Self::set_rejected_patches).
         787  +
    ///
         788  +
    /// <p>A list of explicitly rejected patches for the baseline.</p>
         789  +
    pub fn rejected_patches(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         790  +
        let mut v = self.rejected_patches.unwrap_or_default();
         791  +
        v.push(input.into());
         792  +
        self.rejected_patches = ::std::option::Option::Some(v);
         793  +
        self
         794  +
    }
         795  +
    /// <p>A list of explicitly rejected patches for the baseline.</p>
         796  +
    pub fn set_rejected_patches(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         797  +
        self.rejected_patches = input;
         798  +
        self
         799  +
    }
         800  +
    /// <p>A list of explicitly rejected patches for the baseline.</p>
         801  +
    pub fn get_rejected_patches(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         802  +
        &self.rejected_patches
         803  +
    }
         804  +
    /// <p>The action specified to take on patches included in the <code>RejectedPatches</code> list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.</p>
         805  +
    pub fn rejected_patches_action(mut self, input: crate::types::PatchAction) -> Self {
         806  +
        self.rejected_patches_action = ::std::option::Option::Some(input);
         807  +
        self
         808  +
    }
         809  +
    /// <p>The action specified to take on patches included in the <code>RejectedPatches</code> list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.</p>
         810  +
    pub fn set_rejected_patches_action(mut self, input: ::std::option::Option<crate::types::PatchAction>) -> Self {
         811  +
        self.rejected_patches_action = input;
         812  +
        self
         813  +
    }
         814  +
    /// <p>The action specified to take on patches included in the <code>RejectedPatches</code> list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.</p>
         815  +
    pub fn get_rejected_patches_action(&self) -> &::std::option::Option<crate::types::PatchAction> {
         816  +
        &self.rejected_patches_action
         817  +
    }
         818  +
    /// <p>The date when the patch baseline was created.</p>
         819  +
    pub fn created_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         820  +
        self.created_date = ::std::option::Option::Some(input);
         821  +
        self
         822  +
    }
         823  +
    /// <p>The date when the patch baseline was created.</p>
         824  +
    pub fn set_created_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         825  +
        self.created_date = input;
         826  +
        self
         827  +
    }
         828  +
    /// <p>The date when the patch baseline was created.</p>
         829  +
    pub fn get_created_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         830  +
        &self.created_date
         831  +
    }
         832  +
    /// <p>The date when the patch baseline was last modified.</p>
         833  +
    pub fn modified_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         834  +
        self.modified_date = ::std::option::Option::Some(input);
         835  +
        self
         836  +
    }
         837  +
    /// <p>The date when the patch baseline was last modified.</p>
         838  +
    pub fn set_modified_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         839  +
        self.modified_date = input;
         840  +
        self
         841  +
    }
         842  +
    /// <p>The date when the patch baseline was last modified.</p>
         843  +
    pub fn get_modified_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         844  +
        &self.modified_date
         845  +
    }
         846  +
    /// <p>A description of the patch baseline.</p>
         847  +
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         848  +
        self.description = ::std::option::Option::Some(input.into());
         849  +
        self
         850  +
    }
         851  +
    /// <p>A description of the patch baseline.</p>
         852  +
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         853  +
        self.description = input;
         854  +
        self
         855  +
    }
         856  +
    /// <p>A description of the patch baseline.</p>
         857  +
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
         858  +
        &self.description
         859  +
    }
         860  +
    /// Appends an item to `sources`.
         861  +
    ///
         862  +
    /// To override the contents of this collection use [`set_sources`](Self::set_sources).
         863  +
    ///
         864  +
    /// <p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>
         865  +
    pub fn sources(mut self, input: crate::types::PatchSource) -> Self {
         866  +
        let mut v = self.sources.unwrap_or_default();
         867  +
        v.push(input);
         868  +
        self.sources = ::std::option::Option::Some(v);
         869  +
        self
         870  +
    }
         871  +
    /// <p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>
         872  +
    pub fn set_sources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PatchSource>>) -> Self {
         873  +
        self.sources = input;
         874  +
        self
         875  +
    }
         876  +
    /// <p>Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.</p>
         877  +
    pub fn get_sources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PatchSource>> {
         878  +
        &self.sources
         879  +
    }
         880  +
    /// <p>Indicates the compliance status of managed nodes for which security-related patches are available but were not approved. This preference is specified when the <code>CreatePatchBaseline</code> or <code>UpdatePatchBaseline</code> commands are run.</p>
         881  +
    /// <p>Applies to Windows Server managed nodes only.</p>
         882  +
    pub fn available_security_updates_compliance_status(mut self, input: crate::types::PatchComplianceStatus) -> Self {
         883  +
        self.available_security_updates_compliance_status = ::std::option::Option::Some(input);
         884  +
        self
         885  +
    }
         886  +
    /// <p>Indicates the compliance status of managed nodes for which security-related patches are available but were not approved. This preference is specified when the <code>CreatePatchBaseline</code> or <code>UpdatePatchBaseline</code> commands are run.</p>
         887  +
    /// <p>Applies to Windows Server managed nodes only.</p>
         888  +
    pub fn set_available_security_updates_compliance_status(mut self, input: ::std::option::Option<crate::types::PatchComplianceStatus>) -> Self {
         889  +
        self.available_security_updates_compliance_status = input;
         890  +
        self
         891  +
    }
         892  +
    /// <p>Indicates the compliance status of managed nodes for which security-related patches are available but were not approved. This preference is specified when the <code>CreatePatchBaseline</code> or <code>UpdatePatchBaseline</code> commands are run.</p>
         893  +
    /// <p>Applies to Windows Server managed nodes only.</p>
         894  +
    pub fn get_available_security_updates_compliance_status(&self) -> &::std::option::Option<crate::types::PatchComplianceStatus> {
         895  +
        &self.available_security_updates_compliance_status
         896  +
    }
         897  +
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
         898  +
        self._request_id = Some(request_id.into());
         899  +
        self
         900  +
    }
         901  +
         902  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         903  +
        self._request_id = request_id;
         904  +
        self
         905  +
    }
         906  +
    /// Consumes the builder and constructs a [`UpdatePatchBaselineOutput`](crate::operation::update_patch_baseline::UpdatePatchBaselineOutput).
         907  +
    pub fn build(self) -> crate::operation::update_patch_baseline::UpdatePatchBaselineOutput {
         908  +
        crate::operation::update_patch_baseline::UpdatePatchBaselineOutput {
         909  +
            baseline_id: self.baseline_id,
         910  +
            name: self.name,
         911  +
            operating_system: self.operating_system,
         912  +
            global_filters: self.global_filters,
         913  +
            approval_rules: self.approval_rules,
         914  +
            approved_patches: self.approved_patches,
         915  +
            approved_patches_compliance_level: self.approved_patches_compliance_level,
         916  +
            approved_patches_enable_non_security: self.approved_patches_enable_non_security,
         917  +
            rejected_patches: self.rejected_patches,
         918  +
            rejected_patches_action: self.rejected_patches_action,
         919  +
            created_date: self.created_date,
         920  +
            modified_date: self.modified_date,
         921  +
            description: self.description,
         922  +
            sources: self.sources,
         923  +
            available_security_updates_compliance_status: self.available_security_updates_compliance_status,
         924  +
            _request_id: self._request_id,
         925  +
        }
         926  +
    }
         927  +
}