AWS SDK

AWS SDK

rev. 97ba95e6039d206ffea5b866ddc214d34f7f88c3 (ignoring whitespace)

Files changed:

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

@@ -0,1 +0,1051 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>Represents metadata about a patch.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub struct Patch {
           7  +
    /// <p>The ID of the patch. Applies to Windows patches only.</p><note>
           8  +
    /// <p>This ID isn't the same as the Microsoft Knowledge Base ID.</p>
           9  +
    /// </note>
          10  +
    pub id: ::std::option::Option<::std::string::String>,
          11  +
    /// <p>The date the patch was released.</p>
          12  +
    pub release_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          13  +
    /// <p>The title of the patch.</p>
          14  +
    pub title: ::std::option::Option<::std::string::String>,
          15  +
    /// <p>The description of the patch.</p>
          16  +
    pub description: ::std::option::Option<::std::string::String>,
          17  +
    /// <p>The URL where more information can be obtained about the patch.</p>
          18  +
    pub content_url: ::std::option::Option<::std::string::String>,
          19  +
    /// <p>The name of the vendor providing the patch.</p>
          20  +
    pub vendor: ::std::option::Option<::std::string::String>,
          21  +
    /// <p>The product family the patch is applicable for. For example, <code>Windows</code> or <code>Amazon Linux 2</code>.</p>
          22  +
    pub product_family: ::std::option::Option<::std::string::String>,
          23  +
    /// <p>The specific product the patch is applicable for. For example, <code>WindowsServer2016</code> or <code>AmazonLinux2018.03</code>.</p>
          24  +
    pub product: ::std::option::Option<::std::string::String>,
          25  +
    /// <p>The classification of the patch. For example, <code>SecurityUpdates</code>, <code>Updates</code>, or <code>CriticalUpdates</code>.</p>
          26  +
    pub classification: ::std::option::Option<::std::string::String>,
          27  +
    /// <p>The severity of the patch, such as <code>Critical</code>, <code>Important</code>, or <code>Moderate</code>. Applies to Windows patches only.</p>
          28  +
    pub msrc_severity: ::std::option::Option<::std::string::String>,
          29  +
    /// <p>The Microsoft Knowledge Base ID of the patch. Applies to Windows patches only.</p>
          30  +
    pub kb_number: ::std::option::Option<::std::string::String>,
          31  +
    /// <p>The ID of the Microsoft Security Response Center (MSRC) bulletin the patch is related to. For example, <code>MS14-045</code>. Applies to Windows patches only.</p>
          32  +
    pub msrc_number: ::std::option::Option<::std::string::String>,
          33  +
    /// <p>The language of the patch if it's language-specific.</p>
          34  +
    pub language: ::std::option::Option<::std::string::String>,
          35  +
    /// <p>The Advisory ID of the patch. For example, <code>RHSA-2020:3779</code>. Applies to Linux-based managed nodes only.</p>
          36  +
    pub advisory_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
          37  +
    /// <p>The Bugzilla ID of the patch. For example, <code>1600646</code>. Applies to Linux-based managed nodes only.</p>
          38  +
    pub bugzilla_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
          39  +
    /// <p>The Common Vulnerabilities and Exposures (CVE) ID of the patch. For example, <code>CVE-2011-3192</code>. Applies to Linux-based managed nodes only.</p>
          40  +
    pub cve_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
          41  +
    /// <p>The name of the patch. Applies to Linux-based managed nodes only.</p>
          42  +
    pub name: ::std::option::Option<::std::string::String>,
          43  +
    /// <p>The epoch of the patch. For example in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the epoch value is <code>20180914-2</code>. Applies to Linux-based managed nodes only.</p>
          44  +
    pub epoch: i32,
          45  +
    /// <p>The version number of the patch. For example, in <code>example-pkg-1.710.10-2.7.abcd.x86_64</code>, the version number is indicated by <code>-1</code>. Applies to Linux-based managed nodes only.</p>
          46  +
    pub version: ::std::option::Option<::std::string::String>,
          47  +
    /// <p>The particular release of a patch. For example, in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the release is <code>2.amaz1</code>. Applies to Linux-based managed nodes only.</p>
          48  +
    pub release: ::std::option::Option<::std::string::String>,
          49  +
    /// <p>The architecture of the patch. For example, in <code>example-pkg-0.710.10-2.7.abcd.x86_64</code>, the architecture is indicated by <code>x86_64</code>. Applies to Linux-based managed nodes only.</p>
          50  +
    pub arch: ::std::option::Option<::std::string::String>,
          51  +
    /// <p>The severity level of the patch. For example, <code>CRITICAL</code> or <code>MODERATE</code>.</p>
          52  +
    pub severity: ::std::option::Option<::std::string::String>,
          53  +
    /// <p>The source patch repository for the operating system and version, such as <code>trusty-security</code> for Ubuntu Server 14.04 LTE and <code>focal-security</code> for Ubuntu Server 20.04 LTE. Applies to Linux-based managed nodes only.</p>
          54  +
    pub repository: ::std::option::Option<::std::string::String>,
          55  +
}
          56  +
impl Patch {
          57  +
    /// <p>The ID of the patch. Applies to Windows patches only.</p><note>
          58  +
    /// <p>This ID isn't the same as the Microsoft Knowledge Base ID.</p>
          59  +
    /// </note>
          60  +
    pub fn id(&self) -> ::std::option::Option<&str> {
          61  +
        self.id.as_deref()
          62  +
    }
          63  +
    /// <p>The date the patch was released.</p>
          64  +
    pub fn release_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          65  +
        self.release_date.as_ref()
          66  +
    }
          67  +
    /// <p>The title of the patch.</p>
          68  +
    pub fn title(&self) -> ::std::option::Option<&str> {
          69  +
        self.title.as_deref()
          70  +
    }
          71  +
    /// <p>The description of the patch.</p>
          72  +
    pub fn description(&self) -> ::std::option::Option<&str> {
          73  +
        self.description.as_deref()
          74  +
    }
          75  +
    /// <p>The URL where more information can be obtained about the patch.</p>
          76  +
    pub fn content_url(&self) -> ::std::option::Option<&str> {
          77  +
        self.content_url.as_deref()
          78  +
    }
          79  +
    /// <p>The name of the vendor providing the patch.</p>
          80  +
    pub fn vendor(&self) -> ::std::option::Option<&str> {
          81  +
        self.vendor.as_deref()
          82  +
    }
          83  +
    /// <p>The product family the patch is applicable for. For example, <code>Windows</code> or <code>Amazon Linux 2</code>.</p>
          84  +
    pub fn product_family(&self) -> ::std::option::Option<&str> {
          85  +
        self.product_family.as_deref()
          86  +
    }
          87  +
    /// <p>The specific product the patch is applicable for. For example, <code>WindowsServer2016</code> or <code>AmazonLinux2018.03</code>.</p>
          88  +
    pub fn product(&self) -> ::std::option::Option<&str> {
          89  +
        self.product.as_deref()
          90  +
    }
          91  +
    /// <p>The classification of the patch. For example, <code>SecurityUpdates</code>, <code>Updates</code>, or <code>CriticalUpdates</code>.</p>
          92  +
    pub fn classification(&self) -> ::std::option::Option<&str> {
          93  +
        self.classification.as_deref()
          94  +
    }
          95  +
    /// <p>The severity of the patch, such as <code>Critical</code>, <code>Important</code>, or <code>Moderate</code>. Applies to Windows patches only.</p>
          96  +
    pub fn msrc_severity(&self) -> ::std::option::Option<&str> {
          97  +
        self.msrc_severity.as_deref()
          98  +
    }
          99  +
    /// <p>The Microsoft Knowledge Base ID of the patch. Applies to Windows patches only.</p>
         100  +
    pub fn kb_number(&self) -> ::std::option::Option<&str> {
         101  +
        self.kb_number.as_deref()
         102  +
    }
         103  +
    /// <p>The ID of the Microsoft Security Response Center (MSRC) bulletin the patch is related to. For example, <code>MS14-045</code>. Applies to Windows patches only.</p>
         104  +
    pub fn msrc_number(&self) -> ::std::option::Option<&str> {
         105  +
        self.msrc_number.as_deref()
         106  +
    }
         107  +
    /// <p>The language of the patch if it's language-specific.</p>
         108  +
    pub fn language(&self) -> ::std::option::Option<&str> {
         109  +
        self.language.as_deref()
         110  +
    }
         111  +
    /// <p>The Advisory ID of the patch. For example, <code>RHSA-2020:3779</code>. Applies to Linux-based managed nodes only.</p>
         112  +
    ///
         113  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.advisory_ids.is_none()`.
         114  +
    pub fn advisory_ids(&self) -> &[::std::string::String] {
         115  +
        self.advisory_ids.as_deref().unwrap_or_default()
         116  +
    }
         117  +
    /// <p>The Bugzilla ID of the patch. For example, <code>1600646</code>. Applies to Linux-based managed nodes only.</p>
         118  +
    ///
         119  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.bugzilla_ids.is_none()`.
         120  +
    pub fn bugzilla_ids(&self) -> &[::std::string::String] {
         121  +
        self.bugzilla_ids.as_deref().unwrap_or_default()
         122  +
    }
         123  +
    /// <p>The Common Vulnerabilities and Exposures (CVE) ID of the patch. For example, <code>CVE-2011-3192</code>. Applies to Linux-based managed nodes only.</p>
         124  +
    ///
         125  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.cve_ids.is_none()`.
         126  +
    pub fn cve_ids(&self) -> &[::std::string::String] {
         127  +
        self.cve_ids.as_deref().unwrap_or_default()
         128  +
    }
         129  +
    /// <p>The name of the patch. Applies to Linux-based managed nodes only.</p>
         130  +
    pub fn name(&self) -> ::std::option::Option<&str> {
         131  +
        self.name.as_deref()
         132  +
    }
         133  +
    /// <p>The epoch of the patch. For example in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the epoch value is <code>20180914-2</code>. Applies to Linux-based managed nodes only.</p>
         134  +
    pub fn epoch(&self) -> i32 {
         135  +
        self.epoch
         136  +
    }
         137  +
    /// <p>The version number of the patch. For example, in <code>example-pkg-1.710.10-2.7.abcd.x86_64</code>, the version number is indicated by <code>-1</code>. Applies to Linux-based managed nodes only.</p>
         138  +
    pub fn version(&self) -> ::std::option::Option<&str> {
         139  +
        self.version.as_deref()
         140  +
    }
         141  +
    /// <p>The particular release of a patch. For example, in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the release is <code>2.amaz1</code>. Applies to Linux-based managed nodes only.</p>
         142  +
    pub fn release(&self) -> ::std::option::Option<&str> {
         143  +
        self.release.as_deref()
         144  +
    }
         145  +
    /// <p>The architecture of the patch. For example, in <code>example-pkg-0.710.10-2.7.abcd.x86_64</code>, the architecture is indicated by <code>x86_64</code>. Applies to Linux-based managed nodes only.</p>
         146  +
    pub fn arch(&self) -> ::std::option::Option<&str> {
         147  +
        self.arch.as_deref()
         148  +
    }
         149  +
    /// <p>The severity level of the patch. For example, <code>CRITICAL</code> or <code>MODERATE</code>.</p>
         150  +
    pub fn severity(&self) -> ::std::option::Option<&str> {
         151  +
        self.severity.as_deref()
         152  +
    }
         153  +
    /// <p>The source patch repository for the operating system and version, such as <code>trusty-security</code> for Ubuntu Server 14.04 LTE and <code>focal-security</code> for Ubuntu Server 20.04 LTE. Applies to Linux-based managed nodes only.</p>
         154  +
    pub fn repository(&self) -> ::std::option::Option<&str> {
         155  +
        self.repository.as_deref()
         156  +
    }
         157  +
}
         158  +
static PATCH_MEMBER_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         159  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Id", "com.amazonaws.ssm", "Patch"),
         160  +
    ::aws_smithy_schema::ShapeType::String,
         161  +
    "Id",
         162  +
    0,
         163  +
);
         164  +
static PATCH_MEMBER_RELEASE_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         165  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$ReleaseDate", "com.amazonaws.ssm", "Patch"),
         166  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         167  +
    "ReleaseDate",
         168  +
    1,
         169  +
);
         170  +
static PATCH_MEMBER_TITLE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         171  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Title", "com.amazonaws.ssm", "Patch"),
         172  +
    ::aws_smithy_schema::ShapeType::String,
         173  +
    "Title",
         174  +
    2,
         175  +
);
         176  +
static PATCH_MEMBER_DESCRIPTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         177  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Description", "com.amazonaws.ssm", "Patch"),
         178  +
    ::aws_smithy_schema::ShapeType::String,
         179  +
    "Description",
         180  +
    3,
         181  +
);
         182  +
static PATCH_MEMBER_CONTENT_URL: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         183  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$ContentUrl", "com.amazonaws.ssm", "Patch"),
         184  +
    ::aws_smithy_schema::ShapeType::String,
         185  +
    "ContentUrl",
         186  +
    4,
         187  +
);
         188  +
static PATCH_MEMBER_VENDOR: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         189  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Vendor", "com.amazonaws.ssm", "Patch"),
         190  +
    ::aws_smithy_schema::ShapeType::String,
         191  +
    "Vendor",
         192  +
    5,
         193  +
);
         194  +
static PATCH_MEMBER_PRODUCT_FAMILY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         195  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$ProductFamily", "com.amazonaws.ssm", "Patch"),
         196  +
    ::aws_smithy_schema::ShapeType::String,
         197  +
    "ProductFamily",
         198  +
    6,
         199  +
);
         200  +
static PATCH_MEMBER_PRODUCT: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         201  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Product", "com.amazonaws.ssm", "Patch"),
         202  +
    ::aws_smithy_schema::ShapeType::String,
         203  +
    "Product",
         204  +
    7,
         205  +
);
         206  +
static PATCH_MEMBER_CLASSIFICATION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         207  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Classification", "com.amazonaws.ssm", "Patch"),
         208  +
    ::aws_smithy_schema::ShapeType::String,
         209  +
    "Classification",
         210  +
    8,
         211  +
);
         212  +
static PATCH_MEMBER_MSRC_SEVERITY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         213  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$MsrcSeverity", "com.amazonaws.ssm", "Patch"),
         214  +
    ::aws_smithy_schema::ShapeType::String,
         215  +
    "MsrcSeverity",
         216  +
    9,
         217  +
);
         218  +
static PATCH_MEMBER_KB_NUMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         219  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$KbNumber", "com.amazonaws.ssm", "Patch"),
         220  +
    ::aws_smithy_schema::ShapeType::String,
         221  +
    "KbNumber",
         222  +
    10,
         223  +
);
         224  +
static PATCH_MEMBER_MSRC_NUMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         225  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$MsrcNumber", "com.amazonaws.ssm", "Patch"),
         226  +
    ::aws_smithy_schema::ShapeType::String,
         227  +
    "MsrcNumber",
         228  +
    11,
         229  +
);
         230  +
static PATCH_MEMBER_LANGUAGE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         231  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Language", "com.amazonaws.ssm", "Patch"),
         232  +
    ::aws_smithy_schema::ShapeType::String,
         233  +
    "Language",
         234  +
    12,
         235  +
);
         236  +
static PATCH_MEMBER_ADVISORY_IDS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         237  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#PatchAdvisoryIdList$member", "com.amazonaws.ssm", "PatchAdvisoryIdList"),
         238  +
    ::aws_smithy_schema::ShapeType::String,
         239  +
    "member",
         240  +
    0,
         241  +
);
         242  +
static PATCH_MEMBER_ADVISORY_IDS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         243  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$AdvisoryIds", "com.amazonaws.ssm", "Patch"),
         244  +
    ::aws_smithy_schema::ShapeType::List,
         245  +
    "AdvisoryIds",
         246  +
    13,
         247  +
)
         248  +
.with_list_member(&PATCH_MEMBER_ADVISORY_IDS_MEMBER);
         249  +
static PATCH_MEMBER_BUGZILLA_IDS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         250  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#PatchBugzillaIdList$member", "com.amazonaws.ssm", "PatchBugzillaIdList"),
         251  +
    ::aws_smithy_schema::ShapeType::String,
         252  +
    "member",
         253  +
    0,
         254  +
);
         255  +
static PATCH_MEMBER_BUGZILLA_IDS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         256  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$BugzillaIds", "com.amazonaws.ssm", "Patch"),
         257  +
    ::aws_smithy_schema::ShapeType::List,
         258  +
    "BugzillaIds",
         259  +
    14,
         260  +
)
         261  +
.with_list_member(&PATCH_MEMBER_BUGZILLA_IDS_MEMBER);
         262  +
static PATCH_MEMBER_CVE_IDS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         263  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#PatchCVEIdList$member", "com.amazonaws.ssm", "PatchCVEIdList"),
         264  +
    ::aws_smithy_schema::ShapeType::String,
         265  +
    "member",
         266  +
    0,
         267  +
);
         268  +
static PATCH_MEMBER_CVE_IDS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         269  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$CVEIds", "com.amazonaws.ssm", "Patch"),
         270  +
    ::aws_smithy_schema::ShapeType::List,
         271  +
    "CVEIds",
         272  +
    15,
         273  +
)
         274  +
.with_list_member(&PATCH_MEMBER_CVE_IDS_MEMBER);
         275  +
static PATCH_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         276  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Name", "com.amazonaws.ssm", "Patch"),
         277  +
    ::aws_smithy_schema::ShapeType::String,
         278  +
    "Name",
         279  +
    16,
         280  +
);
         281  +
static PATCH_MEMBER_EPOCH: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         282  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Epoch", "com.amazonaws.ssm", "Patch"),
         283  +
    ::aws_smithy_schema::ShapeType::Integer,
         284  +
    "Epoch",
         285  +
    17,
         286  +
);
         287  +
static PATCH_MEMBER_VERSION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         288  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Version", "com.amazonaws.ssm", "Patch"),
         289  +
    ::aws_smithy_schema::ShapeType::String,
         290  +
    "Version",
         291  +
    18,
         292  +
);
         293  +
static PATCH_MEMBER_RELEASE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         294  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Release", "com.amazonaws.ssm", "Patch"),
         295  +
    ::aws_smithy_schema::ShapeType::String,
         296  +
    "Release",
         297  +
    19,
         298  +
);
         299  +
static PATCH_MEMBER_ARCH: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         300  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Arch", "com.amazonaws.ssm", "Patch"),
         301  +
    ::aws_smithy_schema::ShapeType::String,
         302  +
    "Arch",
         303  +
    20,
         304  +
);
         305  +
static PATCH_MEMBER_SEVERITY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         306  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Severity", "com.amazonaws.ssm", "Patch"),
         307  +
    ::aws_smithy_schema::ShapeType::String,
         308  +
    "Severity",
         309  +
    21,
         310  +
);
         311  +
static PATCH_MEMBER_REPOSITORY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         312  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch$Repository", "com.amazonaws.ssm", "Patch"),
         313  +
    ::aws_smithy_schema::ShapeType::String,
         314  +
    "Repository",
         315  +
    22,
         316  +
);
         317  +
static PATCH_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         318  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Patch", "com.amazonaws.ssm", "Patch"),
         319  +
    ::aws_smithy_schema::ShapeType::Structure,
         320  +
    &[
         321  +
        &PATCH_MEMBER_ID,
         322  +
        &PATCH_MEMBER_RELEASE_DATE,
         323  +
        &PATCH_MEMBER_TITLE,
         324  +
        &PATCH_MEMBER_DESCRIPTION,
         325  +
        &PATCH_MEMBER_CONTENT_URL,
         326  +
        &PATCH_MEMBER_VENDOR,
         327  +
        &PATCH_MEMBER_PRODUCT_FAMILY,
         328  +
        &PATCH_MEMBER_PRODUCT,
         329  +
        &PATCH_MEMBER_CLASSIFICATION,
         330  +
        &PATCH_MEMBER_MSRC_SEVERITY,
         331  +
        &PATCH_MEMBER_KB_NUMBER,
         332  +
        &PATCH_MEMBER_MSRC_NUMBER,
         333  +
        &PATCH_MEMBER_LANGUAGE,
         334  +
        &PATCH_MEMBER_ADVISORY_IDS,
         335  +
        &PATCH_MEMBER_BUGZILLA_IDS,
         336  +
        &PATCH_MEMBER_CVE_IDS,
         337  +
        &PATCH_MEMBER_NAME,
         338  +
        &PATCH_MEMBER_EPOCH,
         339  +
        &PATCH_MEMBER_VERSION,
         340  +
        &PATCH_MEMBER_RELEASE,
         341  +
        &PATCH_MEMBER_ARCH,
         342  +
        &PATCH_MEMBER_SEVERITY,
         343  +
        &PATCH_MEMBER_REPOSITORY,
         344  +
    ],
         345  +
);
         346  +
impl Patch {
         347  +
    /// The schema for this shape.
         348  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &PATCH_SCHEMA;
         349  +
}
         350  +
impl ::aws_smithy_schema::serde::SerializableStruct for Patch {
         351  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         352  +
    fn serialize_members(
         353  +
        &self,
         354  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         355  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         356  +
        if let Some(ref val) = self.id {
         357  +
            ser.write_string(&PATCH_MEMBER_ID, val)?;
         358  +
        }
         359  +
        if let Some(ref val) = self.release_date {
         360  +
            ser.write_timestamp(&PATCH_MEMBER_RELEASE_DATE, val)?;
         361  +
        }
         362  +
        if let Some(ref val) = self.title {
         363  +
            ser.write_string(&PATCH_MEMBER_TITLE, val)?;
         364  +
        }
         365  +
        if let Some(ref val) = self.description {
         366  +
            ser.write_string(&PATCH_MEMBER_DESCRIPTION, val)?;
         367  +
        }
         368  +
        if let Some(ref val) = self.content_url {
         369  +
            ser.write_string(&PATCH_MEMBER_CONTENT_URL, val)?;
         370  +
        }
         371  +
        if let Some(ref val) = self.vendor {
         372  +
            ser.write_string(&PATCH_MEMBER_VENDOR, val)?;
         373  +
        }
         374  +
        if let Some(ref val) = self.product_family {
         375  +
            ser.write_string(&PATCH_MEMBER_PRODUCT_FAMILY, val)?;
         376  +
        }
         377  +
        if let Some(ref val) = self.product {
         378  +
            ser.write_string(&PATCH_MEMBER_PRODUCT, val)?;
         379  +
        }
         380  +
        if let Some(ref val) = self.classification {
         381  +
            ser.write_string(&PATCH_MEMBER_CLASSIFICATION, val)?;
         382  +
        }
         383  +
        if let Some(ref val) = self.msrc_severity {
         384  +
            ser.write_string(&PATCH_MEMBER_MSRC_SEVERITY, val)?;
         385  +
        }
         386  +
        if let Some(ref val) = self.kb_number {
         387  +
            ser.write_string(&PATCH_MEMBER_KB_NUMBER, val)?;
         388  +
        }
         389  +
        if let Some(ref val) = self.msrc_number {
         390  +
            ser.write_string(&PATCH_MEMBER_MSRC_NUMBER, val)?;
         391  +
        }
         392  +
        if let Some(ref val) = self.language {
         393  +
            ser.write_string(&PATCH_MEMBER_LANGUAGE, val)?;
         394  +
        }
         395  +
        if let Some(ref val) = self.advisory_ids {
         396  +
            ser.write_list(
         397  +
                &PATCH_MEMBER_ADVISORY_IDS,
         398  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         399  +
                    for item in val {
         400  +
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
         401  +
                    }
         402  +
                    Ok(())
         403  +
                },
         404  +
            )?;
         405  +
        }
         406  +
        if let Some(ref val) = self.bugzilla_ids {
         407  +
            ser.write_list(
         408  +
                &PATCH_MEMBER_BUGZILLA_IDS,
         409  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         410  +
                    for item in val {
         411  +
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
         412  +
                    }
         413  +
                    Ok(())
         414  +
                },
         415  +
            )?;
         416  +
        }
         417  +
        if let Some(ref val) = self.cve_ids {
         418  +
            ser.write_list(&PATCH_MEMBER_CVE_IDS, &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         419  +
                for item in val {
         420  +
                    ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
         421  +
                }
         422  +
                Ok(())
         423  +
            })?;
         424  +
        }
         425  +
        if let Some(ref val) = self.name {
         426  +
            ser.write_string(&PATCH_MEMBER_NAME, val)?;
         427  +
        }
         428  +
        {
         429  +
            let val = &self.epoch;
         430  +
            ser.write_integer(&PATCH_MEMBER_EPOCH, *val)?;
         431  +
        }
         432  +
        if let Some(ref val) = self.version {
         433  +
            ser.write_string(&PATCH_MEMBER_VERSION, val)?;
         434  +
        }
         435  +
        if let Some(ref val) = self.release {
         436  +
            ser.write_string(&PATCH_MEMBER_RELEASE, val)?;
         437  +
        }
         438  +
        if let Some(ref val) = self.arch {
         439  +
            ser.write_string(&PATCH_MEMBER_ARCH, val)?;
         440  +
        }
         441  +
        if let Some(ref val) = self.severity {
         442  +
            ser.write_string(&PATCH_MEMBER_SEVERITY, val)?;
         443  +
        }
         444  +
        if let Some(ref val) = self.repository {
         445  +
            ser.write_string(&PATCH_MEMBER_REPOSITORY, val)?;
         446  +
        }
         447  +
        Ok(())
         448  +
    }
         449  +
}
         450  +
impl Patch {
         451  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         452  +
    pub fn deserialize(
         453  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         454  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         455  +
        #[allow(unused_variables, unused_mut)]
         456  +
        let mut builder = Self::builder();
         457  +
        #[allow(
         458  +
            unused_variables,
         459  +
            unreachable_code,
         460  +
            clippy::single_match,
         461  +
            clippy::match_single_binding,
         462  +
            clippy::diverging_sub_expression
         463  +
        )]
         464  +
        deserializer.read_struct(&PATCH_SCHEMA, &mut |member, deser| {
         465  +
            match member.member_index() {
         466  +
                Some(0) => {
         467  +
                    if deser.is_null() {
         468  +
                        deser.read_null()?;
         469  +
                    } else {
         470  +
                        builder.id = Some(deser.read_string(member)?);
         471  +
                    }
         472  +
                }
         473  +
                Some(1) => {
         474  +
                    if deser.is_null() {
         475  +
                        deser.read_null()?;
         476  +
                    } else {
         477  +
                        builder.release_date = Some(deser.read_timestamp(member)?);
         478  +
                    }
         479  +
                }
         480  +
                Some(2) => {
         481  +
                    if deser.is_null() {
         482  +
                        deser.read_null()?;
         483  +
                    } else {
         484  +
                        builder.title = Some(deser.read_string(member)?);
         485  +
                    }
         486  +
                }
         487  +
                Some(3) => {
         488  +
                    if deser.is_null() {
         489  +
                        deser.read_null()?;
         490  +
                    } else {
         491  +
                        builder.description = Some(deser.read_string(member)?);
         492  +
                    }
         493  +
                }
         494  +
                Some(4) => {
         495  +
                    if deser.is_null() {
         496  +
                        deser.read_null()?;
         497  +
                    } else {
         498  +
                        builder.content_url = Some(deser.read_string(member)?);
         499  +
                    }
         500  +
                }
         501  +
                Some(5) => {
         502  +
                    if deser.is_null() {
         503  +
                        deser.read_null()?;
         504  +
                    } else {
         505  +
                        builder.vendor = Some(deser.read_string(member)?);
         506  +
                    }
         507  +
                }
         508  +
                Some(6) => {
         509  +
                    if deser.is_null() {
         510  +
                        deser.read_null()?;
         511  +
                    } else {
         512  +
                        builder.product_family = Some(deser.read_string(member)?);
         513  +
                    }
         514  +
                }
         515  +
                Some(7) => {
         516  +
                    if deser.is_null() {
         517  +
                        deser.read_null()?;
         518  +
                    } else {
         519  +
                        builder.product = Some(deser.read_string(member)?);
         520  +
                    }
         521  +
                }
         522  +
                Some(8) => {
         523  +
                    if deser.is_null() {
         524  +
                        deser.read_null()?;
         525  +
                    } else {
         526  +
                        builder.classification = Some(deser.read_string(member)?);
         527  +
                    }
         528  +
                }
         529  +
                Some(9) => {
         530  +
                    if deser.is_null() {
         531  +
                        deser.read_null()?;
         532  +
                    } else {
         533  +
                        builder.msrc_severity = Some(deser.read_string(member)?);
         534  +
                    }
         535  +
                }
         536  +
                Some(10) => {
         537  +
                    if deser.is_null() {
         538  +
                        deser.read_null()?;
         539  +
                    } else {
         540  +
                        builder.kb_number = Some(deser.read_string(member)?);
         541  +
                    }
         542  +
                }
         543  +
                Some(11) => {
         544  +
                    if deser.is_null() {
         545  +
                        deser.read_null()?;
         546  +
                    } else {
         547  +
                        builder.msrc_number = Some(deser.read_string(member)?);
         548  +
                    }
         549  +
                }
         550  +
                Some(12) => {
         551  +
                    if deser.is_null() {
         552  +
                        deser.read_null()?;
         553  +
                    } else {
         554  +
                        builder.language = Some(deser.read_string(member)?);
         555  +
                    }
         556  +
                }
         557  +
                Some(13) => {
         558  +
                    if deser.is_null() {
         559  +
                        deser.read_null()?;
         560  +
                    } else {
         561  +
                        builder.advisory_ids = Some(deser.read_string_list(member)?);
         562  +
                    }
         563  +
                }
         564  +
                Some(14) => {
         565  +
                    if deser.is_null() {
         566  +
                        deser.read_null()?;
         567  +
                    } else {
         568  +
                        builder.bugzilla_ids = Some(deser.read_string_list(member)?);
         569  +
                    }
         570  +
                }
         571  +
                Some(15) => {
         572  +
                    if deser.is_null() {
         573  +
                        deser.read_null()?;
         574  +
                    } else {
         575  +
                        builder.cve_ids = Some(deser.read_string_list(member)?);
         576  +
                    }
         577  +
                }
         578  +
                Some(16) => {
         579  +
                    if deser.is_null() {
         580  +
                        deser.read_null()?;
         581  +
                    } else {
         582  +
                        builder.name = Some(deser.read_string(member)?);
         583  +
                    }
         584  +
                }
         585  +
                Some(17) => {
         586  +
                    builder.epoch = Some(deser.read_integer(member)?);
         587  +
                }
         588  +
                Some(18) => {
         589  +
                    if deser.is_null() {
         590  +
                        deser.read_null()?;
         591  +
                    } else {
         592  +
                        builder.version = Some(deser.read_string(member)?);
         593  +
                    }
         594  +
                }
         595  +
                Some(19) => {
         596  +
                    if deser.is_null() {
         597  +
                        deser.read_null()?;
         598  +
                    } else {
         599  +
                        builder.release = Some(deser.read_string(member)?);
         600  +
                    }
         601  +
                }
         602  +
                Some(20) => {
         603  +
                    if deser.is_null() {
         604  +
                        deser.read_null()?;
         605  +
                    } else {
         606  +
                        builder.arch = Some(deser.read_string(member)?);
         607  +
                    }
         608  +
                }
         609  +
                Some(21) => {
         610  +
                    if deser.is_null() {
         611  +
                        deser.read_null()?;
         612  +
                    } else {
         613  +
                        builder.severity = Some(deser.read_string(member)?);
         614  +
                    }
         615  +
                }
         616  +
                Some(22) => {
         617  +
                    if deser.is_null() {
         618  +
                        deser.read_null()?;
         619  +
                    } else {
         620  +
                        builder.repository = Some(deser.read_string(member)?);
         621  +
                    }
         622  +
                }
         623  +
                _ => {}
         624  +
            }
         625  +
            Ok(())
         626  +
        })?;
         627  +
        Ok(builder.build())
         628  +
    }
         629  +
}
         630  +
impl Patch {
         631  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         632  +
    pub fn deserialize_with_response(
         633  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         634  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         635  +
        _status: u16,
         636  +
        _body: &[u8],
         637  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         638  +
        Self::deserialize(deserializer)
         639  +
    }
         640  +
}
         641  +
impl Patch {
         642  +
    /// Creates a new builder-style object to manufacture [`Patch`](crate::types::Patch).
         643  +
    pub fn builder() -> crate::types::builders::PatchBuilder {
         644  +
        crate::types::builders::PatchBuilder::default()
         645  +
    }
         646  +
}
         647  +
         648  +
/// A builder for [`Patch`](crate::types::Patch).
         649  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         650  +
#[non_exhaustive]
         651  +
pub struct PatchBuilder {
         652  +
    pub(crate) id: ::std::option::Option<::std::string::String>,
         653  +
    pub(crate) release_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         654  +
    pub(crate) title: ::std::option::Option<::std::string::String>,
         655  +
    pub(crate) description: ::std::option::Option<::std::string::String>,
         656  +
    pub(crate) content_url: ::std::option::Option<::std::string::String>,
         657  +
    pub(crate) vendor: ::std::option::Option<::std::string::String>,
         658  +
    pub(crate) product_family: ::std::option::Option<::std::string::String>,
         659  +
    pub(crate) product: ::std::option::Option<::std::string::String>,
         660  +
    pub(crate) classification: ::std::option::Option<::std::string::String>,
         661  +
    pub(crate) msrc_severity: ::std::option::Option<::std::string::String>,
         662  +
    pub(crate) kb_number: ::std::option::Option<::std::string::String>,
         663  +
    pub(crate) msrc_number: ::std::option::Option<::std::string::String>,
         664  +
    pub(crate) language: ::std::option::Option<::std::string::String>,
         665  +
    pub(crate) advisory_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         666  +
    pub(crate) bugzilla_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         667  +
    pub(crate) cve_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         668  +
    pub(crate) name: ::std::option::Option<::std::string::String>,
         669  +
    pub(crate) epoch: ::std::option::Option<i32>,
         670  +
    pub(crate) version: ::std::option::Option<::std::string::String>,
         671  +
    pub(crate) release: ::std::option::Option<::std::string::String>,
         672  +
    pub(crate) arch: ::std::option::Option<::std::string::String>,
         673  +
    pub(crate) severity: ::std::option::Option<::std::string::String>,
         674  +
    pub(crate) repository: ::std::option::Option<::std::string::String>,
         675  +
}
         676  +
impl PatchBuilder {
         677  +
    /// <p>The ID of the patch. Applies to Windows patches only.</p><note>
         678  +
    /// <p>This ID isn't the same as the Microsoft Knowledge Base ID.</p>
         679  +
    /// </note>
         680  +
    pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         681  +
        self.id = ::std::option::Option::Some(input.into());
         682  +
        self
         683  +
    }
         684  +
    /// <p>The ID of the patch. Applies to Windows patches only.</p><note>
         685  +
    /// <p>This ID isn't the same as the Microsoft Knowledge Base ID.</p>
         686  +
    /// </note>
         687  +
    pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         688  +
        self.id = input;
         689  +
        self
         690  +
    }
         691  +
    /// <p>The ID of the patch. Applies to Windows patches only.</p><note>
         692  +
    /// <p>This ID isn't the same as the Microsoft Knowledge Base ID.</p>
         693  +
    /// </note>
         694  +
    pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
         695  +
        &self.id
         696  +
    }
         697  +
    /// <p>The date the patch was released.</p>
         698  +
    pub fn release_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         699  +
        self.release_date = ::std::option::Option::Some(input);
         700  +
        self
         701  +
    }
         702  +
    /// <p>The date the patch was released.</p>
         703  +
    pub fn set_release_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         704  +
        self.release_date = input;
         705  +
        self
         706  +
    }
         707  +
    /// <p>The date the patch was released.</p>
         708  +
    pub fn get_release_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         709  +
        &self.release_date
         710  +
    }
         711  +
    /// <p>The title of the patch.</p>
         712  +
    pub fn title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         713  +
        self.title = ::std::option::Option::Some(input.into());
         714  +
        self
         715  +
    }
         716  +
    /// <p>The title of the patch.</p>
         717  +
    pub fn set_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         718  +
        self.title = input;
         719  +
        self
         720  +
    }
         721  +
    /// <p>The title of the patch.</p>
         722  +
    pub fn get_title(&self) -> &::std::option::Option<::std::string::String> {
         723  +
        &self.title
         724  +
    }
         725  +
    /// <p>The description of the patch.</p>
         726  +
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         727  +
        self.description = ::std::option::Option::Some(input.into());
         728  +
        self
         729  +
    }
         730  +
    /// <p>The description of the patch.</p>
         731  +
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         732  +
        self.description = input;
         733  +
        self
         734  +
    }
         735  +
    /// <p>The description of the patch.</p>
         736  +
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
         737  +
        &self.description
         738  +
    }
         739  +
    /// <p>The URL where more information can be obtained about the patch.</p>
         740  +
    pub fn content_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         741  +
        self.content_url = ::std::option::Option::Some(input.into());
         742  +
        self
         743  +
    }
         744  +
    /// <p>The URL where more information can be obtained about the patch.</p>
         745  +
    pub fn set_content_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         746  +
        self.content_url = input;
         747  +
        self
         748  +
    }
         749  +
    /// <p>The URL where more information can be obtained about the patch.</p>
         750  +
    pub fn get_content_url(&self) -> &::std::option::Option<::std::string::String> {
         751  +
        &self.content_url
         752  +
    }
         753  +
    /// <p>The name of the vendor providing the patch.</p>
         754  +
    pub fn vendor(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         755  +
        self.vendor = ::std::option::Option::Some(input.into());
         756  +
        self
         757  +
    }
         758  +
    /// <p>The name of the vendor providing the patch.</p>
         759  +
    pub fn set_vendor(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         760  +
        self.vendor = input;
         761  +
        self
         762  +
    }
         763  +
    /// <p>The name of the vendor providing the patch.</p>
         764  +
    pub fn get_vendor(&self) -> &::std::option::Option<::std::string::String> {
         765  +
        &self.vendor
         766  +
    }
         767  +
    /// <p>The product family the patch is applicable for. For example, <code>Windows</code> or <code>Amazon Linux 2</code>.</p>
         768  +
    pub fn product_family(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         769  +
        self.product_family = ::std::option::Option::Some(input.into());
         770  +
        self
         771  +
    }
         772  +
    /// <p>The product family the patch is applicable for. For example, <code>Windows</code> or <code>Amazon Linux 2</code>.</p>
         773  +
    pub fn set_product_family(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         774  +
        self.product_family = input;
         775  +
        self
         776  +
    }
         777  +
    /// <p>The product family the patch is applicable for. For example, <code>Windows</code> or <code>Amazon Linux 2</code>.</p>
         778  +
    pub fn get_product_family(&self) -> &::std::option::Option<::std::string::String> {
         779  +
        &self.product_family
         780  +
    }
         781  +
    /// <p>The specific product the patch is applicable for. For example, <code>WindowsServer2016</code> or <code>AmazonLinux2018.03</code>.</p>
         782  +
    pub fn product(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         783  +
        self.product = ::std::option::Option::Some(input.into());
         784  +
        self
         785  +
    }
         786  +
    /// <p>The specific product the patch is applicable for. For example, <code>WindowsServer2016</code> or <code>AmazonLinux2018.03</code>.</p>
         787  +
    pub fn set_product(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         788  +
        self.product = input;
         789  +
        self
         790  +
    }
         791  +
    /// <p>The specific product the patch is applicable for. For example, <code>WindowsServer2016</code> or <code>AmazonLinux2018.03</code>.</p>
         792  +
    pub fn get_product(&self) -> &::std::option::Option<::std::string::String> {
         793  +
        &self.product
         794  +
    }
         795  +
    /// <p>The classification of the patch. For example, <code>SecurityUpdates</code>, <code>Updates</code>, or <code>CriticalUpdates</code>.</p>
         796  +
    pub fn classification(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         797  +
        self.classification = ::std::option::Option::Some(input.into());
         798  +
        self
         799  +
    }
         800  +
    /// <p>The classification of the patch. For example, <code>SecurityUpdates</code>, <code>Updates</code>, or <code>CriticalUpdates</code>.</p>
         801  +
    pub fn set_classification(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         802  +
        self.classification = input;
         803  +
        self
         804  +
    }
         805  +
    /// <p>The classification of the patch. For example, <code>SecurityUpdates</code>, <code>Updates</code>, or <code>CriticalUpdates</code>.</p>
         806  +
    pub fn get_classification(&self) -> &::std::option::Option<::std::string::String> {
         807  +
        &self.classification
         808  +
    }
         809  +
    /// <p>The severity of the patch, such as <code>Critical</code>, <code>Important</code>, or <code>Moderate</code>. Applies to Windows patches only.</p>
         810  +
    pub fn msrc_severity(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         811  +
        self.msrc_severity = ::std::option::Option::Some(input.into());
         812  +
        self
         813  +
    }
         814  +
    /// <p>The severity of the patch, such as <code>Critical</code>, <code>Important</code>, or <code>Moderate</code>. Applies to Windows patches only.</p>
         815  +
    pub fn set_msrc_severity(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         816  +
        self.msrc_severity = input;
         817  +
        self
         818  +
    }
         819  +
    /// <p>The severity of the patch, such as <code>Critical</code>, <code>Important</code>, or <code>Moderate</code>. Applies to Windows patches only.</p>
         820  +
    pub fn get_msrc_severity(&self) -> &::std::option::Option<::std::string::String> {
         821  +
        &self.msrc_severity
         822  +
    }
         823  +
    /// <p>The Microsoft Knowledge Base ID of the patch. Applies to Windows patches only.</p>
         824  +
    pub fn kb_number(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         825  +
        self.kb_number = ::std::option::Option::Some(input.into());
         826  +
        self
         827  +
    }
         828  +
    /// <p>The Microsoft Knowledge Base ID of the patch. Applies to Windows patches only.</p>
         829  +
    pub fn set_kb_number(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         830  +
        self.kb_number = input;
         831  +
        self
         832  +
    }
         833  +
    /// <p>The Microsoft Knowledge Base ID of the patch. Applies to Windows patches only.</p>
         834  +
    pub fn get_kb_number(&self) -> &::std::option::Option<::std::string::String> {
         835  +
        &self.kb_number
         836  +
    }
         837  +
    /// <p>The ID of the Microsoft Security Response Center (MSRC) bulletin the patch is related to. For example, <code>MS14-045</code>. Applies to Windows patches only.</p>
         838  +
    pub fn msrc_number(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         839  +
        self.msrc_number = ::std::option::Option::Some(input.into());
         840  +
        self
         841  +
    }
         842  +
    /// <p>The ID of the Microsoft Security Response Center (MSRC) bulletin the patch is related to. For example, <code>MS14-045</code>. Applies to Windows patches only.</p>
         843  +
    pub fn set_msrc_number(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         844  +
        self.msrc_number = input;
         845  +
        self
         846  +
    }
         847  +
    /// <p>The ID of the Microsoft Security Response Center (MSRC) bulletin the patch is related to. For example, <code>MS14-045</code>. Applies to Windows patches only.</p>
         848  +
    pub fn get_msrc_number(&self) -> &::std::option::Option<::std::string::String> {
         849  +
        &self.msrc_number
         850  +
    }
         851  +
    /// <p>The language of the patch if it's language-specific.</p>
         852  +
    pub fn language(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         853  +
        self.language = ::std::option::Option::Some(input.into());
         854  +
        self
         855  +
    }
         856  +
    /// <p>The language of the patch if it's language-specific.</p>
         857  +
    pub fn set_language(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         858  +
        self.language = input;
         859  +
        self
         860  +
    }
         861  +
    /// <p>The language of the patch if it's language-specific.</p>
         862  +
    pub fn get_language(&self) -> &::std::option::Option<::std::string::String> {
         863  +
        &self.language
         864  +
    }
         865  +
    /// Appends an item to `advisory_ids`.
         866  +
    ///
         867  +
    /// To override the contents of this collection use [`set_advisory_ids`](Self::set_advisory_ids).
         868  +
    ///
         869  +
    /// <p>The Advisory ID of the patch. For example, <code>RHSA-2020:3779</code>. Applies to Linux-based managed nodes only.</p>
         870  +
    pub fn advisory_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         871  +
        let mut v = self.advisory_ids.unwrap_or_default();
         872  +
        v.push(input.into());
         873  +
        self.advisory_ids = ::std::option::Option::Some(v);
         874  +
        self
         875  +
    }
         876  +
    /// <p>The Advisory ID of the patch. For example, <code>RHSA-2020:3779</code>. Applies to Linux-based managed nodes only.</p>
         877  +
    pub fn set_advisory_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         878  +
        self.advisory_ids = input;
         879  +
        self
         880  +
    }
         881  +
    /// <p>The Advisory ID of the patch. For example, <code>RHSA-2020:3779</code>. Applies to Linux-based managed nodes only.</p>
         882  +
    pub fn get_advisory_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         883  +
        &self.advisory_ids
         884  +
    }
         885  +
    /// Appends an item to `bugzilla_ids`.
         886  +
    ///
         887  +
    /// To override the contents of this collection use [`set_bugzilla_ids`](Self::set_bugzilla_ids).
         888  +
    ///
         889  +
    /// <p>The Bugzilla ID of the patch. For example, <code>1600646</code>. Applies to Linux-based managed nodes only.</p>
         890  +
    pub fn bugzilla_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         891  +
        let mut v = self.bugzilla_ids.unwrap_or_default();
         892  +
        v.push(input.into());
         893  +
        self.bugzilla_ids = ::std::option::Option::Some(v);
         894  +
        self
         895  +
    }
         896  +
    /// <p>The Bugzilla ID of the patch. For example, <code>1600646</code>. Applies to Linux-based managed nodes only.</p>
         897  +
    pub fn set_bugzilla_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         898  +
        self.bugzilla_ids = input;
         899  +
        self
         900  +
    }
         901  +
    /// <p>The Bugzilla ID of the patch. For example, <code>1600646</code>. Applies to Linux-based managed nodes only.</p>
         902  +
    pub fn get_bugzilla_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         903  +
        &self.bugzilla_ids
         904  +
    }
         905  +
    /// Appends an item to `cve_ids`.
         906  +
    ///
         907  +
    /// To override the contents of this collection use [`set_cve_ids`](Self::set_cve_ids).
         908  +
    ///
         909  +
    /// <p>The Common Vulnerabilities and Exposures (CVE) ID of the patch. For example, <code>CVE-2011-3192</code>. Applies to Linux-based managed nodes only.</p>
         910  +
    pub fn cve_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         911  +
        let mut v = self.cve_ids.unwrap_or_default();
         912  +
        v.push(input.into());
         913  +
        self.cve_ids = ::std::option::Option::Some(v);
         914  +
        self
         915  +
    }
         916  +
    /// <p>The Common Vulnerabilities and Exposures (CVE) ID of the patch. For example, <code>CVE-2011-3192</code>. Applies to Linux-based managed nodes only.</p>
         917  +
    pub fn set_cve_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         918  +
        self.cve_ids = input;
         919  +
        self
         920  +
    }
         921  +
    /// <p>The Common Vulnerabilities and Exposures (CVE) ID of the patch. For example, <code>CVE-2011-3192</code>. Applies to Linux-based managed nodes only.</p>
         922  +
    pub fn get_cve_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         923  +
        &self.cve_ids
         924  +
    }
         925  +
    /// <p>The name of the patch. Applies to Linux-based managed nodes only.</p>
         926  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         927  +
        self.name = ::std::option::Option::Some(input.into());
         928  +
        self
         929  +
    }
         930  +
    /// <p>The name of the patch. Applies to Linux-based managed nodes only.</p>
         931  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         932  +
        self.name = input;
         933  +
        self
         934  +
    }
         935  +
    /// <p>The name of the patch. Applies to Linux-based managed nodes only.</p>
         936  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         937  +
        &self.name
         938  +
    }
         939  +
    /// <p>The epoch of the patch. For example in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the epoch value is <code>20180914-2</code>. Applies to Linux-based managed nodes only.</p>
         940  +
    pub fn epoch(mut self, input: i32) -> Self {
         941  +
        self.epoch = ::std::option::Option::Some(input);
         942  +
        self
         943  +
    }
         944  +
    /// <p>The epoch of the patch. For example in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the epoch value is <code>20180914-2</code>. Applies to Linux-based managed nodes only.</p>
         945  +
    pub fn set_epoch(mut self, input: ::std::option::Option<i32>) -> Self {
         946  +
        self.epoch = input;
         947  +
        self
         948  +
    }
         949  +
    /// <p>The epoch of the patch. For example in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the epoch value is <code>20180914-2</code>. Applies to Linux-based managed nodes only.</p>
         950  +
    pub fn get_epoch(&self) -> &::std::option::Option<i32> {
         951  +
        &self.epoch
         952  +
    }
         953  +
    /// <p>The version number of the patch. For example, in <code>example-pkg-1.710.10-2.7.abcd.x86_64</code>, the version number is indicated by <code>-1</code>. Applies to Linux-based managed nodes only.</p>
         954  +
    pub fn version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         955  +
        self.version = ::std::option::Option::Some(input.into());
         956  +
        self
         957  +
    }
         958  +
    /// <p>The version number of the patch. For example, in <code>example-pkg-1.710.10-2.7.abcd.x86_64</code>, the version number is indicated by <code>-1</code>. Applies to Linux-based managed nodes only.</p>
         959  +
    pub fn set_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         960  +
        self.version = input;
         961  +
        self
         962  +
    }
         963  +
    /// <p>The version number of the patch. For example, in <code>example-pkg-1.710.10-2.7.abcd.x86_64</code>, the version number is indicated by <code>-1</code>. Applies to Linux-based managed nodes only.</p>
         964  +
    pub fn get_version(&self) -> &::std::option::Option<::std::string::String> {
         965  +
        &self.version
         966  +
    }
         967  +
    /// <p>The particular release of a patch. For example, in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the release is <code>2.amaz1</code>. Applies to Linux-based managed nodes only.</p>
         968  +
    pub fn release(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         969  +
        self.release = ::std::option::Option::Some(input.into());
         970  +
        self
         971  +
    }
         972  +
    /// <p>The particular release of a patch. For example, in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the release is <code>2.amaz1</code>. Applies to Linux-based managed nodes only.</p>
         973  +
    pub fn set_release(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         974  +
        self.release = input;
         975  +
        self
         976  +
    }
         977  +
    /// <p>The particular release of a patch. For example, in <code>pkg-example-EE-20180914-2.2.amzn1.noarch</code>, the release is <code>2.amaz1</code>. Applies to Linux-based managed nodes only.</p>
         978  +
    pub fn get_release(&self) -> &::std::option::Option<::std::string::String> {
         979  +
        &self.release
         980  +
    }
         981  +
    /// <p>The architecture of the patch. For example, in <code>example-pkg-0.710.10-2.7.abcd.x86_64</code>, the architecture is indicated by <code>x86_64</code>. Applies to Linux-based managed nodes only.</p>
         982  +
    pub fn arch(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         983  +
        self.arch = ::std::option::Option::Some(input.into());
         984  +
        self
         985  +
    }
         986  +
    /// <p>The architecture of the patch. For example, in <code>example-pkg-0.710.10-2.7.abcd.x86_64</code>, the architecture is indicated by <code>x86_64</code>. Applies to Linux-based managed nodes only.</p>
         987  +
    pub fn set_arch(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         988  +
        self.arch = input;
         989  +
        self
         990  +
    }
         991  +
    /// <p>The architecture of the patch. For example, in <code>example-pkg-0.710.10-2.7.abcd.x86_64</code>, the architecture is indicated by <code>x86_64</code>. Applies to Linux-based managed nodes only.</p>
         992  +
    pub fn get_arch(&self) -> &::std::option::Option<::std::string::String> {
         993  +
        &self.arch
         994  +
    }
         995  +
    /// <p>The severity level of the patch. For example, <code>CRITICAL</code> or <code>MODERATE</code>.</p>
         996  +
    pub fn severity(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         997  +
        self.severity = ::std::option::Option::Some(input.into());
         998  +
        self
         999  +
    }
        1000  +
    /// <p>The severity level of the patch. For example, <code>CRITICAL</code> or <code>MODERATE</code>.</p>
        1001  +
    pub fn set_severity(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1002  +
        self.severity = input;
        1003  +
        self
        1004  +
    }
        1005  +
    /// <p>The severity level of the patch. For example, <code>CRITICAL</code> or <code>MODERATE</code>.</p>
        1006  +
    pub fn get_severity(&self) -> &::std::option::Option<::std::string::String> {
        1007  +
        &self.severity
        1008  +
    }
        1009  +
    /// <p>The source patch repository for the operating system and version, such as <code>trusty-security</code> for Ubuntu Server 14.04 LTE and <code>focal-security</code> for Ubuntu Server 20.04 LTE. Applies to Linux-based managed nodes only.</p>
        1010  +
    pub fn repository(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        1011  +
        self.repository = ::std::option::Option::Some(input.into());
        1012  +
        self
        1013  +
    }
        1014  +
    /// <p>The source patch repository for the operating system and version, such as <code>trusty-security</code> for Ubuntu Server 14.04 LTE and <code>focal-security</code> for Ubuntu Server 20.04 LTE. Applies to Linux-based managed nodes only.</p>
        1015  +
    pub fn set_repository(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1016  +
        self.repository = input;
        1017  +
        self
        1018  +
    }
        1019  +
    /// <p>The source patch repository for the operating system and version, such as <code>trusty-security</code> for Ubuntu Server 14.04 LTE and <code>focal-security</code> for Ubuntu Server 20.04 LTE. Applies to Linux-based managed nodes only.</p>
        1020  +
    pub fn get_repository(&self) -> &::std::option::Option<::std::string::String> {
        1021  +
        &self.repository
        1022  +
    }
        1023  +
    /// Consumes the builder and constructs a [`Patch`](crate::types::Patch).
        1024  +
    pub fn build(self) -> crate::types::Patch {
        1025  +
        crate::types::Patch {
        1026  +
            id: self.id,
        1027  +
            release_date: self.release_date,
        1028  +
            title: self.title,
        1029  +
            description: self.description,
        1030  +
            content_url: self.content_url,
        1031  +
            vendor: self.vendor,
        1032  +
            product_family: self.product_family,
        1033  +
            product: self.product,
        1034  +
            classification: self.classification,
        1035  +
            msrc_severity: self.msrc_severity,
        1036  +
            kb_number: self.kb_number,
        1037  +
            msrc_number: self.msrc_number,
        1038  +
            language: self.language,
        1039  +
            advisory_ids: self.advisory_ids,
        1040  +
            bugzilla_ids: self.bugzilla_ids,
        1041  +
            cve_ids: self.cve_ids,
        1042  +
            name: self.name,
        1043  +
            epoch: self.epoch.unwrap_or_default(),
        1044  +
            version: self.version,
        1045  +
            release: self.release,
        1046  +
            arch: self.arch,
        1047  +
            severity: self.severity,
        1048  +
            repository: self.repository,
        1049  +
        }
        1050  +
    }
        1051  +
}