AWS SDK

AWS SDK

rev. 3388bf5e18f4269f2b46f39cdc814c5c39d413d0 (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/describe_available_patches/_describe_available_patches_input.rs

@@ -0,1 +0,574 @@
           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 DescribeAvailablePatchesInput {
           6  +
    /// <p>Each element in the array is a structure containing a key-value pair.</p>
           7  +
    /// <p><b>Windows Server</b></p>
           8  +
    /// <p>Supported keys for Windows Server managed node patches include the following:</p>
           9  +
    /// <ul>
          10  +
    /// <li>
          11  +
    /// <p><b> <code>PATCH_SET</code> </b></p>
          12  +
    /// <p>Sample values: <code>OS</code> | <code>APPLICATION</code></p></li>
          13  +
    /// <li>
          14  +
    /// <p><b> <code>PRODUCT</code> </b></p>
          15  +
    /// <p>Sample values: <code>WindowsServer2012</code> | <code>Office 2010</code> | <code>MicrosoftDefenderAntivirus</code></p></li>
          16  +
    /// <li>
          17  +
    /// <p><b> <code>PRODUCT_FAMILY</code> </b></p>
          18  +
    /// <p>Sample values: <code>Windows</code> | <code>Office</code></p></li>
          19  +
    /// <li>
          20  +
    /// <p><b> <code>MSRC_SEVERITY</code> </b></p>
          21  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>Important</code> | <code>Moderate</code></p></li>
          22  +
    /// <li>
          23  +
    /// <p><b> <code>CLASSIFICATION</code> </b></p>
          24  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>SecurityUpdates</code> | <code>DefinitionUpdates</code></p></li>
          25  +
    /// <li>
          26  +
    /// <p><b> <code>PATCH_ID</code> </b></p>
          27  +
    /// <p>Sample values: <code>KB123456</code> | <code>KB4516046</code></p></li>
          28  +
    /// </ul>
          29  +
    /// <p><b>Linux</b></p><important>
          30  +
    /// <p>When specifying filters for Linux patches, you must specify a key-pair for <code>PRODUCT</code>. For example, using the Command Line Interface (CLI), the following command fails:</p>
          31  +
    /// <p><code>aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615</code></p>
          32  +
    /// <p>However, the following command succeeds:</p>
          33  +
    /// <p><code>aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615</code></p>
          34  +
    /// </important>
          35  +
    /// <p>Supported keys for Linux managed node patches include the following:</p>
          36  +
    /// <ul>
          37  +
    /// <li>
          38  +
    /// <p><b> <code>PRODUCT</code> </b></p>
          39  +
    /// <p>Sample values: <code>AmazonLinux2018.03</code> | <code>AmazonLinux2.0</code></p></li>
          40  +
    /// <li>
          41  +
    /// <p><b> <code>NAME</code> </b></p>
          42  +
    /// <p>Sample values: <code>kernel-headers</code> | <code>samba-python</code> | <code>php</code></p></li>
          43  +
    /// <li>
          44  +
    /// <p><b> <code>SEVERITY</code> </b></p>
          45  +
    /// <p>Sample values: <code>Critical</code> | <code>Important</code> | <code>Medium</code> | <code>Low</code></p></li>
          46  +
    /// <li>
          47  +
    /// <p><b> <code>EPOCH</code> </b></p>
          48  +
    /// <p>Sample values: <code>0</code> | <code>1</code></p></li>
          49  +
    /// <li>
          50  +
    /// <p><b> <code>VERSION</code> </b></p>
          51  +
    /// <p>Sample values: <code>78.6.1</code> | <code>4.10.16</code></p></li>
          52  +
    /// <li>
          53  +
    /// <p><b> <code>RELEASE</code> </b></p>
          54  +
    /// <p>Sample values: <code>9.56.amzn1</code> | <code>1.amzn2</code></p></li>
          55  +
    /// <li>
          56  +
    /// <p><b> <code>ARCH</code> </b></p>
          57  +
    /// <p>Sample values: <code>i686</code> | <code>x86_64</code></p></li>
          58  +
    /// <li>
          59  +
    /// <p><b> <code>REPOSITORY</code> </b></p>
          60  +
    /// <p>Sample values: <code>Core</code> | <code>Updates</code></p></li>
          61  +
    /// <li>
          62  +
    /// <p><b> <code>ADVISORY_ID</code> </b></p>
          63  +
    /// <p>Sample values: <code>ALAS-2018-1058</code> | <code>ALAS2-2021-1594</code></p></li>
          64  +
    /// <li>
          65  +
    /// <p><b> <code>CVE_ID</code> </b></p>
          66  +
    /// <p>Sample values: <code>CVE-2018-3615</code> | <code>CVE-2020-1472</code></p></li>
          67  +
    /// <li>
          68  +
    /// <p><b> <code>BUGZILLA_ID</code> </b></p>
          69  +
    /// <p>Sample values: <code>1463241</code></p></li>
          70  +
    /// </ul>
          71  +
    pub filters: ::std::option::Option<::std::vec::Vec<crate::types::PatchOrchestratorFilter>>,
          72  +
    /// <p>The maximum number of patches to return (per page).</p>
          73  +
    pub max_results: ::std::option::Option<i32>,
          74  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
          75  +
    pub next_token: ::std::option::Option<::std::string::String>,
          76  +
}
          77  +
impl DescribeAvailablePatchesInput {
          78  +
    /// <p>Each element in the array is a structure containing a key-value pair.</p>
          79  +
    /// <p><b>Windows Server</b></p>
          80  +
    /// <p>Supported keys for Windows Server managed node patches include the following:</p>
          81  +
    /// <ul>
          82  +
    /// <li>
          83  +
    /// <p><b> <code>PATCH_SET</code> </b></p>
          84  +
    /// <p>Sample values: <code>OS</code> | <code>APPLICATION</code></p></li>
          85  +
    /// <li>
          86  +
    /// <p><b> <code>PRODUCT</code> </b></p>
          87  +
    /// <p>Sample values: <code>WindowsServer2012</code> | <code>Office 2010</code> | <code>MicrosoftDefenderAntivirus</code></p></li>
          88  +
    /// <li>
          89  +
    /// <p><b> <code>PRODUCT_FAMILY</code> </b></p>
          90  +
    /// <p>Sample values: <code>Windows</code> | <code>Office</code></p></li>
          91  +
    /// <li>
          92  +
    /// <p><b> <code>MSRC_SEVERITY</code> </b></p>
          93  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>Important</code> | <code>Moderate</code></p></li>
          94  +
    /// <li>
          95  +
    /// <p><b> <code>CLASSIFICATION</code> </b></p>
          96  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>SecurityUpdates</code> | <code>DefinitionUpdates</code></p></li>
          97  +
    /// <li>
          98  +
    /// <p><b> <code>PATCH_ID</code> </b></p>
          99  +
    /// <p>Sample values: <code>KB123456</code> | <code>KB4516046</code></p></li>
         100  +
    /// </ul>
         101  +
    /// <p><b>Linux</b></p><important>
         102  +
    /// <p>When specifying filters for Linux patches, you must specify a key-pair for <code>PRODUCT</code>. For example, using the Command Line Interface (CLI), the following command fails:</p>
         103  +
    /// <p><code>aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615</code></p>
         104  +
    /// <p>However, the following command succeeds:</p>
         105  +
    /// <p><code>aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615</code></p>
         106  +
    /// </important>
         107  +
    /// <p>Supported keys for Linux managed node patches include the following:</p>
         108  +
    /// <ul>
         109  +
    /// <li>
         110  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         111  +
    /// <p>Sample values: <code>AmazonLinux2018.03</code> | <code>AmazonLinux2.0</code></p></li>
         112  +
    /// <li>
         113  +
    /// <p><b> <code>NAME</code> </b></p>
         114  +
    /// <p>Sample values: <code>kernel-headers</code> | <code>samba-python</code> | <code>php</code></p></li>
         115  +
    /// <li>
         116  +
    /// <p><b> <code>SEVERITY</code> </b></p>
         117  +
    /// <p>Sample values: <code>Critical</code> | <code>Important</code> | <code>Medium</code> | <code>Low</code></p></li>
         118  +
    /// <li>
         119  +
    /// <p><b> <code>EPOCH</code> </b></p>
         120  +
    /// <p>Sample values: <code>0</code> | <code>1</code></p></li>
         121  +
    /// <li>
         122  +
    /// <p><b> <code>VERSION</code> </b></p>
         123  +
    /// <p>Sample values: <code>78.6.1</code> | <code>4.10.16</code></p></li>
         124  +
    /// <li>
         125  +
    /// <p><b> <code>RELEASE</code> </b></p>
         126  +
    /// <p>Sample values: <code>9.56.amzn1</code> | <code>1.amzn2</code></p></li>
         127  +
    /// <li>
         128  +
    /// <p><b> <code>ARCH</code> </b></p>
         129  +
    /// <p>Sample values: <code>i686</code> | <code>x86_64</code></p></li>
         130  +
    /// <li>
         131  +
    /// <p><b> <code>REPOSITORY</code> </b></p>
         132  +
    /// <p>Sample values: <code>Core</code> | <code>Updates</code></p></li>
         133  +
    /// <li>
         134  +
    /// <p><b> <code>ADVISORY_ID</code> </b></p>
         135  +
    /// <p>Sample values: <code>ALAS-2018-1058</code> | <code>ALAS2-2021-1594</code></p></li>
         136  +
    /// <li>
         137  +
    /// <p><b> <code>CVE_ID</code> </b></p>
         138  +
    /// <p>Sample values: <code>CVE-2018-3615</code> | <code>CVE-2020-1472</code></p></li>
         139  +
    /// <li>
         140  +
    /// <p><b> <code>BUGZILLA_ID</code> </b></p>
         141  +
    /// <p>Sample values: <code>1463241</code></p></li>
         142  +
    /// </ul>
         143  +
    ///
         144  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.filters.is_none()`.
         145  +
    pub fn filters(&self) -> &[crate::types::PatchOrchestratorFilter] {
         146  +
        self.filters.as_deref().unwrap_or_default()
         147  +
    }
         148  +
    /// <p>The maximum number of patches to return (per page).</p>
         149  +
    pub fn max_results(&self) -> ::std::option::Option<i32> {
         150  +
        self.max_results
         151  +
    }
         152  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         153  +
    pub fn next_token(&self) -> ::std::option::Option<&str> {
         154  +
        self.next_token.as_deref()
         155  +
    }
         156  +
}
         157  +
static DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_FILTERS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         158  +
    ::aws_smithy_schema::ShapeId::from_parts(
         159  +
        "com.amazonaws.ssm#PatchOrchestratorFilterList$member",
         160  +
        "com.amazonaws.ssm",
         161  +
        "PatchOrchestratorFilterList",
         162  +
    ),
         163  +
    ::aws_smithy_schema::ShapeType::Structure,
         164  +
    "member",
         165  +
    0,
         166  +
);
         167  +
static DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_FILTERS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         168  +
    ::aws_smithy_schema::ShapeId::from_parts(
         169  +
        "com.amazonaws.ssm.synthetic#DescribeAvailablePatchesInput$Filters",
         170  +
        "com.amazonaws.ssm.synthetic",
         171  +
        "DescribeAvailablePatchesInput",
         172  +
    ),
         173  +
    ::aws_smithy_schema::ShapeType::List,
         174  +
    "Filters",
         175  +
    0,
         176  +
)
         177  +
.with_list_member(&DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_FILTERS_MEMBER);
         178  +
static DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_MAX_RESULTS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         179  +
    ::aws_smithy_schema::ShapeId::from_parts(
         180  +
        "com.amazonaws.ssm.synthetic#DescribeAvailablePatchesInput$MaxResults",
         181  +
        "com.amazonaws.ssm.synthetic",
         182  +
        "DescribeAvailablePatchesInput",
         183  +
    ),
         184  +
    ::aws_smithy_schema::ShapeType::Integer,
         185  +
    "MaxResults",
         186  +
    1,
         187  +
);
         188  +
static DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         189  +
    ::aws_smithy_schema::ShapeId::from_parts(
         190  +
        "com.amazonaws.ssm.synthetic#DescribeAvailablePatchesInput$NextToken",
         191  +
        "com.amazonaws.ssm.synthetic",
         192  +
        "DescribeAvailablePatchesInput",
         193  +
    ),
         194  +
    ::aws_smithy_schema::ShapeType::String,
         195  +
    "NextToken",
         196  +
    2,
         197  +
);
         198  +
static DESCRIBEAVAILABLEPATCHESINPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         199  +
    ::aws_smithy_schema::ShapeId::from_parts(
         200  +
        "com.amazonaws.ssm.synthetic#DescribeAvailablePatchesInput",
         201  +
        "com.amazonaws.ssm.synthetic",
         202  +
        "DescribeAvailablePatchesInput",
         203  +
    ),
         204  +
    ::aws_smithy_schema::ShapeType::Structure,
         205  +
    &[
         206  +
        &DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_FILTERS,
         207  +
        &DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_MAX_RESULTS,
         208  +
        &DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_NEXT_TOKEN,
         209  +
    ],
         210  +
)
         211  +
.with_payload_hint(::aws_smithy_schema::PayloadHint::NoStructPayload)
         212  +
.with_original_name("DescribeAvailablePatchesRequest");
         213  +
impl DescribeAvailablePatchesInput {
         214  +
    /// The schema for this shape.
         215  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &DESCRIBEAVAILABLEPATCHESINPUT_SCHEMA;
         216  +
}
         217  +
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeAvailablePatchesInput {
         218  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         219  +
    fn serialize_members(
         220  +
        &self,
         221  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         222  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         223  +
        if let Some(ref val) = self.filters {
         224  +
            ser.write_list(
         225  +
                &DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_FILTERS,
         226  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         227  +
                    for item in val {
         228  +
                        ser.write_struct(crate::types::PatchOrchestratorFilter::SCHEMA, item)?;
         229  +
                    }
         230  +
                    Ok(())
         231  +
                },
         232  +
            )?;
         233  +
        }
         234  +
        if let Some(ref val) = self.max_results {
         235  +
            ser.write_integer(&DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_MAX_RESULTS, *val)?;
         236  +
        }
         237  +
        if let Some(ref val) = self.next_token {
         238  +
            ser.write_string(&DESCRIBEAVAILABLEPATCHESINPUT_MEMBER_NEXT_TOKEN, val)?;
         239  +
        }
         240  +
        Ok(())
         241  +
    }
         242  +
}
         243  +
impl DescribeAvailablePatchesInput {
         244  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         245  +
    pub fn deserialize(
         246  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         247  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         248  +
        #[allow(unused_variables, unused_mut)]
         249  +
        let mut builder = Self::builder();
         250  +
        #[allow(
         251  +
            unused_variables,
         252  +
            unreachable_code,
         253  +
            clippy::single_match,
         254  +
            clippy::match_single_binding,
         255  +
            clippy::diverging_sub_expression
         256  +
        )]
         257  +
        deserializer.read_struct(&DESCRIBEAVAILABLEPATCHESINPUT_SCHEMA, &mut |member, deser| {
         258  +
            match member.member_index() {
         259  +
                Some(0) => {
         260  +
                    if deser.is_null() {
         261  +
                        deser.read_null()?;
         262  +
                    } else {
         263  +
                        builder.filters = Some({
         264  +
                            let mut container = Vec::new();
         265  +
                            deser.read_list(member, &mut |deser| {
         266  +
                                container.push(crate::types::PatchOrchestratorFilter::deserialize(deser)?);
         267  +
                                Ok(())
         268  +
                            })?;
         269  +
                            container
         270  +
                        });
         271  +
                    }
         272  +
                }
         273  +
                Some(1) => {
         274  +
                    if deser.is_null() {
         275  +
                        deser.read_null()?;
         276  +
                    } else {
         277  +
                        builder.max_results = Some(deser.read_integer(member)?);
         278  +
                    }
         279  +
                }
         280  +
                Some(2) => {
         281  +
                    if deser.is_null() {
         282  +
                        deser.read_null()?;
         283  +
                    } else {
         284  +
                        builder.next_token = Some(deser.read_string(member)?);
         285  +
                    }
         286  +
                }
         287  +
                _ => {}
         288  +
            }
         289  +
            Ok(())
         290  +
        })?;
         291  +
        builder.build().map_err(|e| aws_smithy_schema::serde::SerdeError::custom(e.to_string()))
         292  +
    }
         293  +
}
         294  +
impl DescribeAvailablePatchesInput {
         295  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         296  +
    pub fn deserialize_with_response(
         297  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         298  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         299  +
        _status: u16,
         300  +
        _body: &[u8],
         301  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         302  +
        Self::deserialize(deserializer)
         303  +
    }
         304  +
}
         305  +
impl DescribeAvailablePatchesInput {
         306  +
    /// Creates a new builder-style object to manufacture [`DescribeAvailablePatchesInput`](crate::operation::describe_available_patches::DescribeAvailablePatchesInput).
         307  +
    pub fn builder() -> crate::operation::describe_available_patches::builders::DescribeAvailablePatchesInputBuilder {
         308  +
        crate::operation::describe_available_patches::builders::DescribeAvailablePatchesInputBuilder::default()
         309  +
    }
         310  +
}
         311  +
         312  +
/// A builder for [`DescribeAvailablePatchesInput`](crate::operation::describe_available_patches::DescribeAvailablePatchesInput).
         313  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         314  +
#[non_exhaustive]
         315  +
pub struct DescribeAvailablePatchesInputBuilder {
         316  +
    pub(crate) filters: ::std::option::Option<::std::vec::Vec<crate::types::PatchOrchestratorFilter>>,
         317  +
    pub(crate) max_results: ::std::option::Option<i32>,
         318  +
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
         319  +
}
         320  +
impl DescribeAvailablePatchesInputBuilder {
         321  +
    /// Appends an item to `filters`.
         322  +
    ///
         323  +
    /// To override the contents of this collection use [`set_filters`](Self::set_filters).
         324  +
    ///
         325  +
    /// <p>Each element in the array is a structure containing a key-value pair.</p>
         326  +
    /// <p><b>Windows Server</b></p>
         327  +
    /// <p>Supported keys for Windows Server managed node patches include the following:</p>
         328  +
    /// <ul>
         329  +
    /// <li>
         330  +
    /// <p><b> <code>PATCH_SET</code> </b></p>
         331  +
    /// <p>Sample values: <code>OS</code> | <code>APPLICATION</code></p></li>
         332  +
    /// <li>
         333  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         334  +
    /// <p>Sample values: <code>WindowsServer2012</code> | <code>Office 2010</code> | <code>MicrosoftDefenderAntivirus</code></p></li>
         335  +
    /// <li>
         336  +
    /// <p><b> <code>PRODUCT_FAMILY</code> </b></p>
         337  +
    /// <p>Sample values: <code>Windows</code> | <code>Office</code></p></li>
         338  +
    /// <li>
         339  +
    /// <p><b> <code>MSRC_SEVERITY</code> </b></p>
         340  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>Important</code> | <code>Moderate</code></p></li>
         341  +
    /// <li>
         342  +
    /// <p><b> <code>CLASSIFICATION</code> </b></p>
         343  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>SecurityUpdates</code> | <code>DefinitionUpdates</code></p></li>
         344  +
    /// <li>
         345  +
    /// <p><b> <code>PATCH_ID</code> </b></p>
         346  +
    /// <p>Sample values: <code>KB123456</code> | <code>KB4516046</code></p></li>
         347  +
    /// </ul>
         348  +
    /// <p><b>Linux</b></p><important>
         349  +
    /// <p>When specifying filters for Linux patches, you must specify a key-pair for <code>PRODUCT</code>. For example, using the Command Line Interface (CLI), the following command fails:</p>
         350  +
    /// <p><code>aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615</code></p>
         351  +
    /// <p>However, the following command succeeds:</p>
         352  +
    /// <p><code>aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615</code></p>
         353  +
    /// </important>
         354  +
    /// <p>Supported keys for Linux managed node patches include the following:</p>
         355  +
    /// <ul>
         356  +
    /// <li>
         357  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         358  +
    /// <p>Sample values: <code>AmazonLinux2018.03</code> | <code>AmazonLinux2.0</code></p></li>
         359  +
    /// <li>
         360  +
    /// <p><b> <code>NAME</code> </b></p>
         361  +
    /// <p>Sample values: <code>kernel-headers</code> | <code>samba-python</code> | <code>php</code></p></li>
         362  +
    /// <li>
         363  +
    /// <p><b> <code>SEVERITY</code> </b></p>
         364  +
    /// <p>Sample values: <code>Critical</code> | <code>Important</code> | <code>Medium</code> | <code>Low</code></p></li>
         365  +
    /// <li>
         366  +
    /// <p><b> <code>EPOCH</code> </b></p>
         367  +
    /// <p>Sample values: <code>0</code> | <code>1</code></p></li>
         368  +
    /// <li>
         369  +
    /// <p><b> <code>VERSION</code> </b></p>
         370  +
    /// <p>Sample values: <code>78.6.1</code> | <code>4.10.16</code></p></li>
         371  +
    /// <li>
         372  +
    /// <p><b> <code>RELEASE</code> </b></p>
         373  +
    /// <p>Sample values: <code>9.56.amzn1</code> | <code>1.amzn2</code></p></li>
         374  +
    /// <li>
         375  +
    /// <p><b> <code>ARCH</code> </b></p>
         376  +
    /// <p>Sample values: <code>i686</code> | <code>x86_64</code></p></li>
         377  +
    /// <li>
         378  +
    /// <p><b> <code>REPOSITORY</code> </b></p>
         379  +
    /// <p>Sample values: <code>Core</code> | <code>Updates</code></p></li>
         380  +
    /// <li>
         381  +
    /// <p><b> <code>ADVISORY_ID</code> </b></p>
         382  +
    /// <p>Sample values: <code>ALAS-2018-1058</code> | <code>ALAS2-2021-1594</code></p></li>
         383  +
    /// <li>
         384  +
    /// <p><b> <code>CVE_ID</code> </b></p>
         385  +
    /// <p>Sample values: <code>CVE-2018-3615</code> | <code>CVE-2020-1472</code></p></li>
         386  +
    /// <li>
         387  +
    /// <p><b> <code>BUGZILLA_ID</code> </b></p>
         388  +
    /// <p>Sample values: <code>1463241</code></p></li>
         389  +
    /// </ul>
         390  +
    pub fn filters(mut self, input: crate::types::PatchOrchestratorFilter) -> Self {
         391  +
        let mut v = self.filters.unwrap_or_default();
         392  +
        v.push(input);
         393  +
        self.filters = ::std::option::Option::Some(v);
         394  +
        self
         395  +
    }
         396  +
    /// <p>Each element in the array is a structure containing a key-value pair.</p>
         397  +
    /// <p><b>Windows Server</b></p>
         398  +
    /// <p>Supported keys for Windows Server managed node patches include the following:</p>
         399  +
    /// <ul>
         400  +
    /// <li>
         401  +
    /// <p><b> <code>PATCH_SET</code> </b></p>
         402  +
    /// <p>Sample values: <code>OS</code> | <code>APPLICATION</code></p></li>
         403  +
    /// <li>
         404  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         405  +
    /// <p>Sample values: <code>WindowsServer2012</code> | <code>Office 2010</code> | <code>MicrosoftDefenderAntivirus</code></p></li>
         406  +
    /// <li>
         407  +
    /// <p><b> <code>PRODUCT_FAMILY</code> </b></p>
         408  +
    /// <p>Sample values: <code>Windows</code> | <code>Office</code></p></li>
         409  +
    /// <li>
         410  +
    /// <p><b> <code>MSRC_SEVERITY</code> </b></p>
         411  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>Important</code> | <code>Moderate</code></p></li>
         412  +
    /// <li>
         413  +
    /// <p><b> <code>CLASSIFICATION</code> </b></p>
         414  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>SecurityUpdates</code> | <code>DefinitionUpdates</code></p></li>
         415  +
    /// <li>
         416  +
    /// <p><b> <code>PATCH_ID</code> </b></p>
         417  +
    /// <p>Sample values: <code>KB123456</code> | <code>KB4516046</code></p></li>
         418  +
    /// </ul>
         419  +
    /// <p><b>Linux</b></p><important>
         420  +
    /// <p>When specifying filters for Linux patches, you must specify a key-pair for <code>PRODUCT</code>. For example, using the Command Line Interface (CLI), the following command fails:</p>
         421  +
    /// <p><code>aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615</code></p>
         422  +
    /// <p>However, the following command succeeds:</p>
         423  +
    /// <p><code>aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615</code></p>
         424  +
    /// </important>
         425  +
    /// <p>Supported keys for Linux managed node patches include the following:</p>
         426  +
    /// <ul>
         427  +
    /// <li>
         428  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         429  +
    /// <p>Sample values: <code>AmazonLinux2018.03</code> | <code>AmazonLinux2.0</code></p></li>
         430  +
    /// <li>
         431  +
    /// <p><b> <code>NAME</code> </b></p>
         432  +
    /// <p>Sample values: <code>kernel-headers</code> | <code>samba-python</code> | <code>php</code></p></li>
         433  +
    /// <li>
         434  +
    /// <p><b> <code>SEVERITY</code> </b></p>
         435  +
    /// <p>Sample values: <code>Critical</code> | <code>Important</code> | <code>Medium</code> | <code>Low</code></p></li>
         436  +
    /// <li>
         437  +
    /// <p><b> <code>EPOCH</code> </b></p>
         438  +
    /// <p>Sample values: <code>0</code> | <code>1</code></p></li>
         439  +
    /// <li>
         440  +
    /// <p><b> <code>VERSION</code> </b></p>
         441  +
    /// <p>Sample values: <code>78.6.1</code> | <code>4.10.16</code></p></li>
         442  +
    /// <li>
         443  +
    /// <p><b> <code>RELEASE</code> </b></p>
         444  +
    /// <p>Sample values: <code>9.56.amzn1</code> | <code>1.amzn2</code></p></li>
         445  +
    /// <li>
         446  +
    /// <p><b> <code>ARCH</code> </b></p>
         447  +
    /// <p>Sample values: <code>i686</code> | <code>x86_64</code></p></li>
         448  +
    /// <li>
         449  +
    /// <p><b> <code>REPOSITORY</code> </b></p>
         450  +
    /// <p>Sample values: <code>Core</code> | <code>Updates</code></p></li>
         451  +
    /// <li>
         452  +
    /// <p><b> <code>ADVISORY_ID</code> </b></p>
         453  +
    /// <p>Sample values: <code>ALAS-2018-1058</code> | <code>ALAS2-2021-1594</code></p></li>
         454  +
    /// <li>
         455  +
    /// <p><b> <code>CVE_ID</code> </b></p>
         456  +
    /// <p>Sample values: <code>CVE-2018-3615</code> | <code>CVE-2020-1472</code></p></li>
         457  +
    /// <li>
         458  +
    /// <p><b> <code>BUGZILLA_ID</code> </b></p>
         459  +
    /// <p>Sample values: <code>1463241</code></p></li>
         460  +
    /// </ul>
         461  +
    pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PatchOrchestratorFilter>>) -> Self {
         462  +
        self.filters = input;
         463  +
        self
         464  +
    }
         465  +
    /// <p>Each element in the array is a structure containing a key-value pair.</p>
         466  +
    /// <p><b>Windows Server</b></p>
         467  +
    /// <p>Supported keys for Windows Server managed node patches include the following:</p>
         468  +
    /// <ul>
         469  +
    /// <li>
         470  +
    /// <p><b> <code>PATCH_SET</code> </b></p>
         471  +
    /// <p>Sample values: <code>OS</code> | <code>APPLICATION</code></p></li>
         472  +
    /// <li>
         473  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         474  +
    /// <p>Sample values: <code>WindowsServer2012</code> | <code>Office 2010</code> | <code>MicrosoftDefenderAntivirus</code></p></li>
         475  +
    /// <li>
         476  +
    /// <p><b> <code>PRODUCT_FAMILY</code> </b></p>
         477  +
    /// <p>Sample values: <code>Windows</code> | <code>Office</code></p></li>
         478  +
    /// <li>
         479  +
    /// <p><b> <code>MSRC_SEVERITY</code> </b></p>
         480  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>Important</code> | <code>Moderate</code></p></li>
         481  +
    /// <li>
         482  +
    /// <p><b> <code>CLASSIFICATION</code> </b></p>
         483  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>SecurityUpdates</code> | <code>DefinitionUpdates</code></p></li>
         484  +
    /// <li>
         485  +
    /// <p><b> <code>PATCH_ID</code> </b></p>
         486  +
    /// <p>Sample values: <code>KB123456</code> | <code>KB4516046</code></p></li>
         487  +
    /// </ul>
         488  +
    /// <p><b>Linux</b></p><important>
         489  +
    /// <p>When specifying filters for Linux patches, you must specify a key-pair for <code>PRODUCT</code>. For example, using the Command Line Interface (CLI), the following command fails:</p>
         490  +
    /// <p><code>aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615</code></p>
         491  +
    /// <p>However, the following command succeeds:</p>
         492  +
    /// <p><code>aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615</code></p>
         493  +
    /// </important>
         494  +
    /// <p>Supported keys for Linux managed node patches include the following:</p>
         495  +
    /// <ul>
         496  +
    /// <li>
         497  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         498  +
    /// <p>Sample values: <code>AmazonLinux2018.03</code> | <code>AmazonLinux2.0</code></p></li>
         499  +
    /// <li>
         500  +
    /// <p><b> <code>NAME</code> </b></p>
         501  +
    /// <p>Sample values: <code>kernel-headers</code> | <code>samba-python</code> | <code>php</code></p></li>
         502  +
    /// <li>
         503  +
    /// <p><b> <code>SEVERITY</code> </b></p>
         504  +
    /// <p>Sample values: <code>Critical</code> | <code>Important</code> | <code>Medium</code> | <code>Low</code></p></li>
         505  +
    /// <li>
         506  +
    /// <p><b> <code>EPOCH</code> </b></p>
         507  +
    /// <p>Sample values: <code>0</code> | <code>1</code></p></li>
         508  +
    /// <li>
         509  +
    /// <p><b> <code>VERSION</code> </b></p>
         510  +
    /// <p>Sample values: <code>78.6.1</code> | <code>4.10.16</code></p></li>
         511  +
    /// <li>
         512  +
    /// <p><b> <code>RELEASE</code> </b></p>
         513  +
    /// <p>Sample values: <code>9.56.amzn1</code> | <code>1.amzn2</code></p></li>
         514  +
    /// <li>
         515  +
    /// <p><b> <code>ARCH</code> </b></p>
         516  +
    /// <p>Sample values: <code>i686</code> | <code>x86_64</code></p></li>
         517  +
    /// <li>
         518  +
    /// <p><b> <code>REPOSITORY</code> </b></p>
         519  +
    /// <p>Sample values: <code>Core</code> | <code>Updates</code></p></li>
         520  +
    /// <li>
         521  +
    /// <p><b> <code>ADVISORY_ID</code> </b></p>
         522  +
    /// <p>Sample values: <code>ALAS-2018-1058</code> | <code>ALAS2-2021-1594</code></p></li>
         523  +
    /// <li>
         524  +
    /// <p><b> <code>CVE_ID</code> </b></p>
         525  +
    /// <p>Sample values: <code>CVE-2018-3615</code> | <code>CVE-2020-1472</code></p></li>
         526  +
    /// <li>
         527  +
    /// <p><b> <code>BUGZILLA_ID</code> </b></p>
         528  +
    /// <p>Sample values: <code>1463241</code></p></li>
         529  +
    /// </ul>
         530  +
    pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PatchOrchestratorFilter>> {
         531  +
        &self.filters
         532  +
    }
         533  +
    /// <p>The maximum number of patches to return (per page).</p>
         534  +
    pub fn max_results(mut self, input: i32) -> Self {
         535  +
        self.max_results = ::std::option::Option::Some(input);
         536  +
        self
         537  +
    }
         538  +
    /// <p>The maximum number of patches to return (per page).</p>
         539  +
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
         540  +
        self.max_results = input;
         541  +
        self
         542  +
    }
         543  +
    /// <p>The maximum number of patches to return (per page).</p>
         544  +
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
         545  +
        &self.max_results
         546  +
    }
         547  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         548  +
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         549  +
        self.next_token = ::std::option::Option::Some(input.into());
         550  +
        self
         551  +
    }
         552  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         553  +
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         554  +
        self.next_token = input;
         555  +
        self
         556  +
    }
         557  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         558  +
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
         559  +
        &self.next_token
         560  +
    }
         561  +
    /// Consumes the builder and constructs a [`DescribeAvailablePatchesInput`](crate::operation::describe_available_patches::DescribeAvailablePatchesInput).
         562  +
    pub fn build(
         563  +
        self,
         564  +
    ) -> ::std::result::Result<
         565  +
        crate::operation::describe_available_patches::DescribeAvailablePatchesInput,
         566  +
        ::aws_smithy_types::error::operation::BuildError,
         567  +
    > {
         568  +
        ::std::result::Result::Ok(crate::operation::describe_available_patches::DescribeAvailablePatchesInput {
         569  +
            filters: self.filters,
         570  +
            max_results: self.max_results,
         571  +
            next_token: self.next_token,
         572  +
        })
         573  +
    }
         574  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/describe_available_patches/_describe_available_patches_output.rs

@@ -0,1 +0,269 @@
           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 DescribeAvailablePatchesOutput {
           6  +
    /// <p>An array of patches. Each entry in the array is a patch structure.</p>
           7  +
    pub patches: ::std::option::Option<::std::vec::Vec<crate::types::Patch>>,
           8  +
    /// <p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>
           9  +
    pub next_token: ::std::option::Option<::std::string::String>,
          10  +
    _request_id: Option<String>,
          11  +
}
          12  +
impl DescribeAvailablePatchesOutput {
          13  +
    /// <p>An array of patches. Each entry in the array is a patch structure.</p>
          14  +
    ///
          15  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.patches.is_none()`.
          16  +
    pub fn patches(&self) -> &[crate::types::Patch] {
          17  +
        self.patches.as_deref().unwrap_or_default()
          18  +
    }
          19  +
    /// <p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>
          20  +
    pub fn next_token(&self) -> ::std::option::Option<&str> {
          21  +
        self.next_token.as_deref()
          22  +
    }
          23  +
}
          24  +
static DESCRIBEAVAILABLEPATCHESOUTPUT_MEMBER_PATCHES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          25  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#PatchList$member", "com.amazonaws.ssm", "PatchList"),
          26  +
    ::aws_smithy_schema::ShapeType::Structure,
          27  +
    "member",
          28  +
    0,
          29  +
);
          30  +
static DESCRIBEAVAILABLEPATCHESOUTPUT_MEMBER_PATCHES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          31  +
    ::aws_smithy_schema::ShapeId::from_parts(
          32  +
        "com.amazonaws.ssm.synthetic#DescribeAvailablePatchesOutput$Patches",
          33  +
        "com.amazonaws.ssm.synthetic",
          34  +
        "DescribeAvailablePatchesOutput",
          35  +
    ),
          36  +
    ::aws_smithy_schema::ShapeType::List,
          37  +
    "Patches",
          38  +
    0,
          39  +
)
          40  +
.with_list_member(&DESCRIBEAVAILABLEPATCHESOUTPUT_MEMBER_PATCHES_MEMBER);
          41  +
static DESCRIBEAVAILABLEPATCHESOUTPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          42  +
    ::aws_smithy_schema::ShapeId::from_parts(
          43  +
        "com.amazonaws.ssm.synthetic#DescribeAvailablePatchesOutput$NextToken",
          44  +
        "com.amazonaws.ssm.synthetic",
          45  +
        "DescribeAvailablePatchesOutput",
          46  +
    ),
          47  +
    ::aws_smithy_schema::ShapeType::String,
          48  +
    "NextToken",
          49  +
    1,
          50  +
);
          51  +
static DESCRIBEAVAILABLEPATCHESOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          52  +
    ::aws_smithy_schema::ShapeId::from_parts("synthetic#request_id", "synthetic", "request_id"),
          53  +
    ::aws_smithy_schema::ShapeType::String,
          54  +
    "request_id",
          55  +
    2,
          56  +
)
          57  +
.with_http_header("x-amzn-requestid");
          58  +
static DESCRIBEAVAILABLEPATCHESOUTPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          59  +
    ::aws_smithy_schema::ShapeId::from_parts(
          60  +
        "com.amazonaws.ssm.synthetic#DescribeAvailablePatchesOutput",
          61  +
        "com.amazonaws.ssm.synthetic",
          62  +
        "DescribeAvailablePatchesOutput",
          63  +
    ),
          64  +
    ::aws_smithy_schema::ShapeType::Structure,
          65  +
    &[
          66  +
        &DESCRIBEAVAILABLEPATCHESOUTPUT_MEMBER_PATCHES,
          67  +
        &DESCRIBEAVAILABLEPATCHESOUTPUT_MEMBER_NEXT_TOKEN,
          68  +
        &DESCRIBEAVAILABLEPATCHESOUTPUT_MEMBER__REQUEST_ID,
          69  +
    ],
          70  +
)
          71  +
.with_original_name("DescribeAvailablePatchesResult");
          72  +
impl DescribeAvailablePatchesOutput {
          73  +
    /// The schema for this shape.
          74  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &DESCRIBEAVAILABLEPATCHESOUTPUT_SCHEMA;
          75  +
}
          76  +
impl ::aws_smithy_schema::serde::SerializableStruct for DescribeAvailablePatchesOutput {
          77  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          78  +
    fn serialize_members(
          79  +
        &self,
          80  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          81  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          82  +
        if let Some(ref val) = self.patches {
          83  +
            ser.write_list(
          84  +
                &DESCRIBEAVAILABLEPATCHESOUTPUT_MEMBER_PATCHES,
          85  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
          86  +
                    for item in val {
          87  +
                        ser.write_struct(crate::types::Patch::SCHEMA, item)?;
          88  +
                    }
          89  +
                    Ok(())
          90  +
                },
          91  +
            )?;
          92  +
        }
          93  +
        if let Some(ref val) = self.next_token {
          94  +
            ser.write_string(&DESCRIBEAVAILABLEPATCHESOUTPUT_MEMBER_NEXT_TOKEN, val)?;
          95  +
        }
          96  +
        Ok(())
          97  +
    }
          98  +
}
          99  +
impl DescribeAvailablePatchesOutput {
         100  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         101  +
    pub fn deserialize(
         102  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         103  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         104  +
        #[allow(unused_variables, unused_mut)]
         105  +
        let mut builder = Self::builder();
         106  +
        #[allow(
         107  +
            unused_variables,
         108  +
            unreachable_code,
         109  +
            clippy::single_match,
         110  +
            clippy::match_single_binding,
         111  +
            clippy::diverging_sub_expression
         112  +
        )]
         113  +
        deserializer.read_struct(&DESCRIBEAVAILABLEPATCHESOUTPUT_SCHEMA, &mut |member, deser| {
         114  +
            match member.member_index() {
         115  +
                Some(0) => {
         116  +
                    if deser.is_null() {
         117  +
                        deser.read_null()?;
         118  +
                    } else {
         119  +
                        builder.patches = Some({
         120  +
                            let mut container = Vec::new();
         121  +
                            deser.read_list(member, &mut |deser| {
         122  +
                                container.push(crate::types::Patch::deserialize(deser)?);
         123  +
                                Ok(())
         124  +
                            })?;
         125  +
                            container
         126  +
                        });
         127  +
                    }
         128  +
                }
         129  +
                Some(1) => {
         130  +
                    if deser.is_null() {
         131  +
                        deser.read_null()?;
         132  +
                    } else {
         133  +
                        builder.next_token = Some(deser.read_string(member)?);
         134  +
                    }
         135  +
                }
         136  +
                Some(2) => {
         137  +
                    builder._request_id = Some(deser.read_string(member)?);
         138  +
                }
         139  +
                _ => {}
         140  +
            }
         141  +
            Ok(())
         142  +
        })?;
         143  +
        Ok(builder.build())
         144  +
    }
         145  +
}
         146  +
impl DescribeAvailablePatchesOutput {
         147  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         148  +
    /// Header-bound members are read directly from headers, avoiding runtime
         149  +
    /// member iteration overhead. Body members are read via the deserializer.
         150  +
    pub fn deserialize_with_response(
         151  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         152  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         153  +
        _status: u16,
         154  +
        _body: &[u8],
         155  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         156  +
        #[allow(unused_variables, unused_mut)]
         157  +
        let mut builder = Self::builder();
         158  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         159  +
            builder._request_id = Some(val.to_string());
         160  +
        }
         161  +
         162  +
        #[allow(
         163  +
            unused_variables,
         164  +
            unreachable_code,
         165  +
            clippy::single_match,
         166  +
            clippy::match_single_binding,
         167  +
            clippy::diverging_sub_expression
         168  +
        )]
         169  +
        deserializer.read_struct(&DESCRIBEAVAILABLEPATCHESOUTPUT_SCHEMA, &mut |member, deser| {
         170  +
            match member.member_index() {
         171  +
                Some(0) => {
         172  +
                    builder.patches = Some({
         173  +
                        let mut container = Vec::new();
         174  +
                        deser.read_list(member, &mut |deser| {
         175  +
                            container.push(crate::types::Patch::deserialize(deser)?);
         176  +
                            Ok(())
         177  +
                        })?;
         178  +
                        container
         179  +
                    });
         180  +
                }
         181  +
                Some(1) => {
         182  +
                    builder.next_token = Some(deser.read_string(member)?);
         183  +
                }
         184  +
                _ => {}
         185  +
            }
         186  +
            Ok(())
         187  +
        })?;
         188  +
        Ok(builder.build())
         189  +
    }
         190  +
}
         191  +
impl ::aws_types::request_id::RequestId for DescribeAvailablePatchesOutput {
         192  +
    fn request_id(&self) -> Option<&str> {
         193  +
        self._request_id.as_deref()
         194  +
    }
         195  +
}
         196  +
impl DescribeAvailablePatchesOutput {
         197  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         198  +
        self._request_id = request_id;
         199  +
        self
         200  +
    }
         201  +
}
         202  +
impl DescribeAvailablePatchesOutput {
         203  +
    /// Creates a new builder-style object to manufacture [`DescribeAvailablePatchesOutput`](crate::operation::describe_available_patches::DescribeAvailablePatchesOutput).
         204  +
    pub fn builder() -> crate::operation::describe_available_patches::builders::DescribeAvailablePatchesOutputBuilder {
         205  +
        crate::operation::describe_available_patches::builders::DescribeAvailablePatchesOutputBuilder::default()
         206  +
    }
         207  +
}
         208  +
         209  +
/// A builder for [`DescribeAvailablePatchesOutput`](crate::operation::describe_available_patches::DescribeAvailablePatchesOutput).
         210  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         211  +
#[non_exhaustive]
         212  +
pub struct DescribeAvailablePatchesOutputBuilder {
         213  +
    pub(crate) patches: ::std::option::Option<::std::vec::Vec<crate::types::Patch>>,
         214  +
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
         215  +
    _request_id: Option<String>,
         216  +
}
         217  +
impl DescribeAvailablePatchesOutputBuilder {
         218  +
    /// Appends an item to `patches`.
         219  +
    ///
         220  +
    /// To override the contents of this collection use [`set_patches`](Self::set_patches).
         221  +
    ///
         222  +
    /// <p>An array of patches. Each entry in the array is a patch structure.</p>
         223  +
    pub fn patches(mut self, input: crate::types::Patch) -> Self {
         224  +
        let mut v = self.patches.unwrap_or_default();
         225  +
        v.push(input);
         226  +
        self.patches = ::std::option::Option::Some(v);
         227  +
        self
         228  +
    }
         229  +
    /// <p>An array of patches. Each entry in the array is a patch structure.</p>
         230  +
    pub fn set_patches(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Patch>>) -> Self {
         231  +
        self.patches = input;
         232  +
        self
         233  +
    }
         234  +
    /// <p>An array of patches. Each entry in the array is a patch structure.</p>
         235  +
    pub fn get_patches(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Patch>> {
         236  +
        &self.patches
         237  +
    }
         238  +
    /// <p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>
         239  +
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         240  +
        self.next_token = ::std::option::Option::Some(input.into());
         241  +
        self
         242  +
    }
         243  +
    /// <p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>
         244  +
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         245  +
        self.next_token = input;
         246  +
        self
         247  +
    }
         248  +
    /// <p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>
         249  +
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
         250  +
        &self.next_token
         251  +
    }
         252  +
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
         253  +
        self._request_id = Some(request_id.into());
         254  +
        self
         255  +
    }
         256  +
         257  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         258  +
        self._request_id = request_id;
         259  +
        self
         260  +
    }
         261  +
    /// Consumes the builder and constructs a [`DescribeAvailablePatchesOutput`](crate::operation::describe_available_patches::DescribeAvailablePatchesOutput).
         262  +
    pub fn build(self) -> crate::operation::describe_available_patches::DescribeAvailablePatchesOutput {
         263  +
        crate::operation::describe_available_patches::DescribeAvailablePatchesOutput {
         264  +
            patches: self.patches,
         265  +
            next_token: self.next_token,
         266  +
            _request_id: self._request_id,
         267  +
        }
         268  +
    }
         269  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/describe_available_patches/builders.rs

@@ -0,1 +0,358 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub use crate::operation::describe_available_patches::_describe_available_patches_input::DescribeAvailablePatchesInputBuilder;
           3  +
           4  +
pub use crate::operation::describe_available_patches::_describe_available_patches_output::DescribeAvailablePatchesOutputBuilder;
           5  +
           6  +
impl crate::operation::describe_available_patches::builders::DescribeAvailablePatchesInputBuilder {
           7  +
    /// Sends a request with this input using the given client.
           8  +
    pub async fn send_with(
           9  +
        self,
          10  +
        client: &crate::Client,
          11  +
    ) -> ::std::result::Result<
          12  +
        crate::operation::describe_available_patches::DescribeAvailablePatchesOutput,
          13  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          14  +
            crate::operation::describe_available_patches::DescribeAvailablePatchesError,
          15  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          16  +
        >,
          17  +
    > {
          18  +
        let mut fluent_builder = client.describe_available_patches();
          19  +
        fluent_builder.inner = self;
          20  +
        fluent_builder.send().await
          21  +
    }
          22  +
}
          23  +
/// Fluent builder constructing a request to `DescribeAvailablePatches`.
          24  +
///
          25  +
/// <p>Lists all patches eligible to be included in a patch baseline.</p><note>
          26  +
/// <p>Currently, <code>DescribeAvailablePatches</code> supports only the Amazon Linux 1, Amazon Linux 2, and Windows Server operating systems.</p>
          27  +
/// </note>
          28  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          29  +
pub struct DescribeAvailablePatchesFluentBuilder {
          30  +
    handle: ::std::sync::Arc<crate::client::Handle>,
          31  +
    inner: crate::operation::describe_available_patches::builders::DescribeAvailablePatchesInputBuilder,
          32  +
    config_override: ::std::option::Option<crate::config::Builder>,
          33  +
}
          34  +
impl
          35  +
    crate::client::customize::internal::CustomizableSend<
          36  +
        crate::operation::describe_available_patches::DescribeAvailablePatchesOutput,
          37  +
        crate::operation::describe_available_patches::DescribeAvailablePatchesError,
          38  +
    > for DescribeAvailablePatchesFluentBuilder
          39  +
{
          40  +
    fn send(
          41  +
        self,
          42  +
        config_override: crate::config::Builder,
          43  +
    ) -> crate::client::customize::internal::BoxFuture<
          44  +
        crate::client::customize::internal::SendResult<
          45  +
            crate::operation::describe_available_patches::DescribeAvailablePatchesOutput,
          46  +
            crate::operation::describe_available_patches::DescribeAvailablePatchesError,
          47  +
        >,
          48  +
    > {
          49  +
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
          50  +
    }
          51  +
}
          52  +
impl DescribeAvailablePatchesFluentBuilder {
          53  +
    /// Creates a new `DescribeAvailablePatchesFluentBuilder`.
          54  +
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
          55  +
        Self {
          56  +
            handle,
          57  +
            inner: ::std::default::Default::default(),
          58  +
            config_override: ::std::option::Option::None,
          59  +
        }
          60  +
    }
          61  +
    /// Access the DescribeAvailablePatches as a reference.
          62  +
    pub fn as_input(&self) -> &crate::operation::describe_available_patches::builders::DescribeAvailablePatchesInputBuilder {
          63  +
        &self.inner
          64  +
    }
          65  +
    /// Sends the request and returns the response.
          66  +
    ///
          67  +
    /// If an error occurs, an `SdkError` will be returned with additional details that
          68  +
    /// can be matched against.
          69  +
    ///
          70  +
    /// By default, any retryable failures will be retried twice. Retry behavior
          71  +
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
          72  +
    /// set when configuring the client.
          73  +
    pub async fn send(
          74  +
        self,
          75  +
    ) -> ::std::result::Result<
          76  +
        crate::operation::describe_available_patches::DescribeAvailablePatchesOutput,
          77  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          78  +
            crate::operation::describe_available_patches::DescribeAvailablePatchesError,
          79  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          80  +
        >,
          81  +
    > {
          82  +
        let input = self
          83  +
            .inner
          84  +
            .build()
          85  +
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
          86  +
        let runtime_plugins = crate::operation::describe_available_patches::DescribeAvailablePatches::operation_runtime_plugins(
          87  +
            self.handle.runtime_plugins.clone(),
          88  +
            &self.handle.conf,
          89  +
            self.config_override,
          90  +
        );
          91  +
        crate::operation::describe_available_patches::DescribeAvailablePatches::orchestrate(&runtime_plugins, input).await
          92  +
    }
          93  +
          94  +
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
          95  +
    pub fn customize(
          96  +
        self,
          97  +
    ) -> crate::client::customize::CustomizableOperation<
          98  +
        crate::operation::describe_available_patches::DescribeAvailablePatchesOutput,
          99  +
        crate::operation::describe_available_patches::DescribeAvailablePatchesError,
         100  +
        Self,
         101  +
    > {
         102  +
        crate::client::customize::CustomizableOperation::new(self)
         103  +
    }
         104  +
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
         105  +
        self.set_config_override(::std::option::Option::Some(config_override.into()));
         106  +
        self
         107  +
    }
         108  +
         109  +
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
         110  +
        self.config_override = config_override;
         111  +
        self
         112  +
    }
         113  +
    /// Create a paginator for this request
         114  +
    ///
         115  +
    /// Paginators are used by calling [`send().await`](crate::operation::describe_available_patches::paginator::DescribeAvailablePatchesPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
         116  +
    pub fn into_paginator(self) -> crate::operation::describe_available_patches::paginator::DescribeAvailablePatchesPaginator {
         117  +
        crate::operation::describe_available_patches::paginator::DescribeAvailablePatchesPaginator::new(self.handle, self.inner)
         118  +
    }
         119  +
    ///
         120  +
    /// Appends an item to `Filters`.
         121  +
    ///
         122  +
    /// To override the contents of this collection use [`set_filters`](Self::set_filters).
         123  +
    ///
         124  +
    /// <p>Each element in the array is a structure containing a key-value pair.</p>
         125  +
    /// <p><b>Windows Server</b></p>
         126  +
    /// <p>Supported keys for Windows Server managed node patches include the following:</p>
         127  +
    /// <ul>
         128  +
    /// <li>
         129  +
    /// <p><b> <code>PATCH_SET</code> </b></p>
         130  +
    /// <p>Sample values: <code>OS</code> | <code>APPLICATION</code></p></li>
         131  +
    /// <li>
         132  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         133  +
    /// <p>Sample values: <code>WindowsServer2012</code> | <code>Office 2010</code> | <code>MicrosoftDefenderAntivirus</code></p></li>
         134  +
    /// <li>
         135  +
    /// <p><b> <code>PRODUCT_FAMILY</code> </b></p>
         136  +
    /// <p>Sample values: <code>Windows</code> | <code>Office</code></p></li>
         137  +
    /// <li>
         138  +
    /// <p><b> <code>MSRC_SEVERITY</code> </b></p>
         139  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>Important</code> | <code>Moderate</code></p></li>
         140  +
    /// <li>
         141  +
    /// <p><b> <code>CLASSIFICATION</code> </b></p>
         142  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>SecurityUpdates</code> | <code>DefinitionUpdates</code></p></li>
         143  +
    /// <li>
         144  +
    /// <p><b> <code>PATCH_ID</code> </b></p>
         145  +
    /// <p>Sample values: <code>KB123456</code> | <code>KB4516046</code></p></li>
         146  +
    /// </ul>
         147  +
    /// <p><b>Linux</b></p><important>
         148  +
    /// <p>When specifying filters for Linux patches, you must specify a key-pair for <code>PRODUCT</code>. For example, using the Command Line Interface (CLI), the following command fails:</p>
         149  +
    /// <p><code>aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615</code></p>
         150  +
    /// <p>However, the following command succeeds:</p>
         151  +
    /// <p><code>aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615</code></p>
         152  +
    /// </important>
         153  +
    /// <p>Supported keys for Linux managed node patches include the following:</p>
         154  +
    /// <ul>
         155  +
    /// <li>
         156  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         157  +
    /// <p>Sample values: <code>AmazonLinux2018.03</code> | <code>AmazonLinux2.0</code></p></li>
         158  +
    /// <li>
         159  +
    /// <p><b> <code>NAME</code> </b></p>
         160  +
    /// <p>Sample values: <code>kernel-headers</code> | <code>samba-python</code> | <code>php</code></p></li>
         161  +
    /// <li>
         162  +
    /// <p><b> <code>SEVERITY</code> </b></p>
         163  +
    /// <p>Sample values: <code>Critical</code> | <code>Important</code> | <code>Medium</code> | <code>Low</code></p></li>
         164  +
    /// <li>
         165  +
    /// <p><b> <code>EPOCH</code> </b></p>
         166  +
    /// <p>Sample values: <code>0</code> | <code>1</code></p></li>
         167  +
    /// <li>
         168  +
    /// <p><b> <code>VERSION</code> </b></p>
         169  +
    /// <p>Sample values: <code>78.6.1</code> | <code>4.10.16</code></p></li>
         170  +
    /// <li>
         171  +
    /// <p><b> <code>RELEASE</code> </b></p>
         172  +
    /// <p>Sample values: <code>9.56.amzn1</code> | <code>1.amzn2</code></p></li>
         173  +
    /// <li>
         174  +
    /// <p><b> <code>ARCH</code> </b></p>
         175  +
    /// <p>Sample values: <code>i686</code> | <code>x86_64</code></p></li>
         176  +
    /// <li>
         177  +
    /// <p><b> <code>REPOSITORY</code> </b></p>
         178  +
    /// <p>Sample values: <code>Core</code> | <code>Updates</code></p></li>
         179  +
    /// <li>
         180  +
    /// <p><b> <code>ADVISORY_ID</code> </b></p>
         181  +
    /// <p>Sample values: <code>ALAS-2018-1058</code> | <code>ALAS2-2021-1594</code></p></li>
         182  +
    /// <li>
         183  +
    /// <p><b> <code>CVE_ID</code> </b></p>
         184  +
    /// <p>Sample values: <code>CVE-2018-3615</code> | <code>CVE-2020-1472</code></p></li>
         185  +
    /// <li>
         186  +
    /// <p><b> <code>BUGZILLA_ID</code> </b></p>
         187  +
    /// <p>Sample values: <code>1463241</code></p></li>
         188  +
    /// </ul>
         189  +
    pub fn filters(mut self, input: crate::types::PatchOrchestratorFilter) -> Self {
         190  +
        self.inner = self.inner.filters(input);
         191  +
        self
         192  +
    }
         193  +
    /// <p>Each element in the array is a structure containing a key-value pair.</p>
         194  +
    /// <p><b>Windows Server</b></p>
         195  +
    /// <p>Supported keys for Windows Server managed node patches include the following:</p>
         196  +
    /// <ul>
         197  +
    /// <li>
         198  +
    /// <p><b> <code>PATCH_SET</code> </b></p>
         199  +
    /// <p>Sample values: <code>OS</code> | <code>APPLICATION</code></p></li>
         200  +
    /// <li>
         201  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         202  +
    /// <p>Sample values: <code>WindowsServer2012</code> | <code>Office 2010</code> | <code>MicrosoftDefenderAntivirus</code></p></li>
         203  +
    /// <li>
         204  +
    /// <p><b> <code>PRODUCT_FAMILY</code> </b></p>
         205  +
    /// <p>Sample values: <code>Windows</code> | <code>Office</code></p></li>
         206  +
    /// <li>
         207  +
    /// <p><b> <code>MSRC_SEVERITY</code> </b></p>
         208  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>Important</code> | <code>Moderate</code></p></li>
         209  +
    /// <li>
         210  +
    /// <p><b> <code>CLASSIFICATION</code> </b></p>
         211  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>SecurityUpdates</code> | <code>DefinitionUpdates</code></p></li>
         212  +
    /// <li>
         213  +
    /// <p><b> <code>PATCH_ID</code> </b></p>
         214  +
    /// <p>Sample values: <code>KB123456</code> | <code>KB4516046</code></p></li>
         215  +
    /// </ul>
         216  +
    /// <p><b>Linux</b></p><important>
         217  +
    /// <p>When specifying filters for Linux patches, you must specify a key-pair for <code>PRODUCT</code>. For example, using the Command Line Interface (CLI), the following command fails:</p>
         218  +
    /// <p><code>aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615</code></p>
         219  +
    /// <p>However, the following command succeeds:</p>
         220  +
    /// <p><code>aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615</code></p>
         221  +
    /// </important>
         222  +
    /// <p>Supported keys for Linux managed node patches include the following:</p>
         223  +
    /// <ul>
         224  +
    /// <li>
         225  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         226  +
    /// <p>Sample values: <code>AmazonLinux2018.03</code> | <code>AmazonLinux2.0</code></p></li>
         227  +
    /// <li>
         228  +
    /// <p><b> <code>NAME</code> </b></p>
         229  +
    /// <p>Sample values: <code>kernel-headers</code> | <code>samba-python</code> | <code>php</code></p></li>
         230  +
    /// <li>
         231  +
    /// <p><b> <code>SEVERITY</code> </b></p>
         232  +
    /// <p>Sample values: <code>Critical</code> | <code>Important</code> | <code>Medium</code> | <code>Low</code></p></li>
         233  +
    /// <li>
         234  +
    /// <p><b> <code>EPOCH</code> </b></p>
         235  +
    /// <p>Sample values: <code>0</code> | <code>1</code></p></li>
         236  +
    /// <li>
         237  +
    /// <p><b> <code>VERSION</code> </b></p>
         238  +
    /// <p>Sample values: <code>78.6.1</code> | <code>4.10.16</code></p></li>
         239  +
    /// <li>
         240  +
    /// <p><b> <code>RELEASE</code> </b></p>
         241  +
    /// <p>Sample values: <code>9.56.amzn1</code> | <code>1.amzn2</code></p></li>
         242  +
    /// <li>
         243  +
    /// <p><b> <code>ARCH</code> </b></p>
         244  +
    /// <p>Sample values: <code>i686</code> | <code>x86_64</code></p></li>
         245  +
    /// <li>
         246  +
    /// <p><b> <code>REPOSITORY</code> </b></p>
         247  +
    /// <p>Sample values: <code>Core</code> | <code>Updates</code></p></li>
         248  +
    /// <li>
         249  +
    /// <p><b> <code>ADVISORY_ID</code> </b></p>
         250  +
    /// <p>Sample values: <code>ALAS-2018-1058</code> | <code>ALAS2-2021-1594</code></p></li>
         251  +
    /// <li>
         252  +
    /// <p><b> <code>CVE_ID</code> </b></p>
         253  +
    /// <p>Sample values: <code>CVE-2018-3615</code> | <code>CVE-2020-1472</code></p></li>
         254  +
    /// <li>
         255  +
    /// <p><b> <code>BUGZILLA_ID</code> </b></p>
         256  +
    /// <p>Sample values: <code>1463241</code></p></li>
         257  +
    /// </ul>
         258  +
    pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PatchOrchestratorFilter>>) -> Self {
         259  +
        self.inner = self.inner.set_filters(input);
         260  +
        self
         261  +
    }
         262  +
    /// <p>Each element in the array is a structure containing a key-value pair.</p>
         263  +
    /// <p><b>Windows Server</b></p>
         264  +
    /// <p>Supported keys for Windows Server managed node patches include the following:</p>
         265  +
    /// <ul>
         266  +
    /// <li>
         267  +
    /// <p><b> <code>PATCH_SET</code> </b></p>
         268  +
    /// <p>Sample values: <code>OS</code> | <code>APPLICATION</code></p></li>
         269  +
    /// <li>
         270  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         271  +
    /// <p>Sample values: <code>WindowsServer2012</code> | <code>Office 2010</code> | <code>MicrosoftDefenderAntivirus</code></p></li>
         272  +
    /// <li>
         273  +
    /// <p><b> <code>PRODUCT_FAMILY</code> </b></p>
         274  +
    /// <p>Sample values: <code>Windows</code> | <code>Office</code></p></li>
         275  +
    /// <li>
         276  +
    /// <p><b> <code>MSRC_SEVERITY</code> </b></p>
         277  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>Important</code> | <code>Moderate</code></p></li>
         278  +
    /// <li>
         279  +
    /// <p><b> <code>CLASSIFICATION</code> </b></p>
         280  +
    /// <p>Sample values: <code>ServicePacks</code> | <code>SecurityUpdates</code> | <code>DefinitionUpdates</code></p></li>
         281  +
    /// <li>
         282  +
    /// <p><b> <code>PATCH_ID</code> </b></p>
         283  +
    /// <p>Sample values: <code>KB123456</code> | <code>KB4516046</code></p></li>
         284  +
    /// </ul>
         285  +
    /// <p><b>Linux</b></p><important>
         286  +
    /// <p>When specifying filters for Linux patches, you must specify a key-pair for <code>PRODUCT</code>. For example, using the Command Line Interface (CLI), the following command fails:</p>
         287  +
    /// <p><code>aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615</code></p>
         288  +
    /// <p>However, the following command succeeds:</p>
         289  +
    /// <p><code>aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615</code></p>
         290  +
    /// </important>
         291  +
    /// <p>Supported keys for Linux managed node patches include the following:</p>
         292  +
    /// <ul>
         293  +
    /// <li>
         294  +
    /// <p><b> <code>PRODUCT</code> </b></p>
         295  +
    /// <p>Sample values: <code>AmazonLinux2018.03</code> | <code>AmazonLinux2.0</code></p></li>
         296  +
    /// <li>
         297  +
    /// <p><b> <code>NAME</code> </b></p>
         298  +
    /// <p>Sample values: <code>kernel-headers</code> | <code>samba-python</code> | <code>php</code></p></li>
         299  +
    /// <li>
         300  +
    /// <p><b> <code>SEVERITY</code> </b></p>
         301  +
    /// <p>Sample values: <code>Critical</code> | <code>Important</code> | <code>Medium</code> | <code>Low</code></p></li>
         302  +
    /// <li>
         303  +
    /// <p><b> <code>EPOCH</code> </b></p>
         304  +
    /// <p>Sample values: <code>0</code> | <code>1</code></p></li>
         305  +
    /// <li>
         306  +
    /// <p><b> <code>VERSION</code> </b></p>
         307  +
    /// <p>Sample values: <code>78.6.1</code> | <code>4.10.16</code></p></li>
         308  +
    /// <li>
         309  +
    /// <p><b> <code>RELEASE</code> </b></p>
         310  +
    /// <p>Sample values: <code>9.56.amzn1</code> | <code>1.amzn2</code></p></li>
         311  +
    /// <li>
         312  +
    /// <p><b> <code>ARCH</code> </b></p>
         313  +
    /// <p>Sample values: <code>i686</code> | <code>x86_64</code></p></li>
         314  +
    /// <li>
         315  +
    /// <p><b> <code>REPOSITORY</code> </b></p>
         316  +
    /// <p>Sample values: <code>Core</code> | <code>Updates</code></p></li>
         317  +
    /// <li>
         318  +
    /// <p><b> <code>ADVISORY_ID</code> </b></p>
         319  +
    /// <p>Sample values: <code>ALAS-2018-1058</code> | <code>ALAS2-2021-1594</code></p></li>
         320  +
    /// <li>
         321  +
    /// <p><b> <code>CVE_ID</code> </b></p>
         322  +
    /// <p>Sample values: <code>CVE-2018-3615</code> | <code>CVE-2020-1472</code></p></li>
         323  +
    /// <li>
         324  +
    /// <p><b> <code>BUGZILLA_ID</code> </b></p>
         325  +
    /// <p>Sample values: <code>1463241</code></p></li>
         326  +
    /// </ul>
         327  +
    pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PatchOrchestratorFilter>> {
         328  +
        self.inner.get_filters()
         329  +
    }
         330  +
    /// <p>The maximum number of patches to return (per page).</p>
         331  +
    pub fn max_results(mut self, input: i32) -> Self {
         332  +
        self.inner = self.inner.max_results(input);
         333  +
        self
         334  +
    }
         335  +
    /// <p>The maximum number of patches to return (per page).</p>
         336  +
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
         337  +
        self.inner = self.inner.set_max_results(input);
         338  +
        self
         339  +
    }
         340  +
    /// <p>The maximum number of patches to return (per page).</p>
         341  +
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
         342  +
        self.inner.get_max_results()
         343  +
    }
         344  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         345  +
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         346  +
        self.inner = self.inner.next_token(input.into());
         347  +
        self
         348  +
    }
         349  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         350  +
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         351  +
        self.inner = self.inner.set_next_token(input);
         352  +
        self
         353  +
    }
         354  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         355  +
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
         356  +
        self.inner.get_next_token()
         357  +
    }
         358  +
}