Skip to main content

aws_sdk_securityhub/types/
_aws_ssm_compliance_summary.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Provides the details about the compliance status for a patch.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct AwsSsmComplianceSummary {
7    /// <p>The current patch compliance status. Valid values are as follows:</p>
8    /// <ul>
9    /// <li>
10    /// <p><code>COMPLIANT</code></p></li>
11    /// <li>
12    /// <p><code>NON_COMPLIANT</code></p></li>
13    /// <li>
14    /// <p><code>UNSPECIFIED_DATA</code></p></li>
15    /// </ul>
16    pub status: ::std::option::Option<::std::string::String>,
17    /// <p>For the patches that are compliant, the number that have a severity of <code>CRITICAL</code>.</p>
18    pub compliant_critical_count: ::std::option::Option<i32>,
19    /// <p>For the patches that are compliant, the number that have a severity of <code>HIGH</code>.</p>
20    pub compliant_high_count: ::std::option::Option<i32>,
21    /// <p>For the patches that are compliant, the number that have a severity of <code>MEDIUM</code>.</p>
22    pub compliant_medium_count: ::std::option::Option<i32>,
23    /// <p>The type of execution that was used determine compliance.</p>
24    pub execution_type: ::std::option::Option<::std::string::String>,
25    /// <p>For the patch items that are noncompliant, the number of items that have a severity of <code>CRITICAL</code>.</p>
26    pub non_compliant_critical_count: ::std::option::Option<i32>,
27    /// <p>For the patches that are compliant, the number that have a severity of <code>INFORMATIONAL</code>.</p>
28    pub compliant_informational_count: ::std::option::Option<i32>,
29    /// <p>For the patches that are noncompliant, the number that have a severity of <code>INFORMATIONAL</code>.</p>
30    pub non_compliant_informational_count: ::std::option::Option<i32>,
31    /// <p>For the patches that are compliant, the number that have a severity of <code>UNSPECIFIED</code>.</p>
32    pub compliant_unspecified_count: ::std::option::Option<i32>,
33    /// <p>For the patches that are noncompliant, the number that have a severity of <code>LOW</code>.</p>
34    pub non_compliant_low_count: ::std::option::Option<i32>,
35    /// <p>For the patches that are noncompliant, the number that have a severity of <code>HIGH</code>.</p>
36    pub non_compliant_high_count: ::std::option::Option<i32>,
37    /// <p>For the patches that are compliant, the number that have a severity of <code>LOW</code>.</p>
38    pub compliant_low_count: ::std::option::Option<i32>,
39    /// <p>The type of resource for which the compliance was determined. For <code>AwsSsmPatchCompliance</code>, <code>ComplianceType</code> is <code>Patch</code>.</p>
40    pub compliance_type: ::std::option::Option<::std::string::String>,
41    /// <p>The identifier of the patch baseline. The patch baseline lists the patches that are approved for installation.</p>
42    pub patch_baseline_id: ::std::option::Option<::std::string::String>,
43    /// <p>The highest severity for the patches. Valid values are as follows:</p>
44    /// <ul>
45    /// <li>
46    /// <p><code>CRITICAL</code></p></li>
47    /// <li>
48    /// <p><code>HIGH</code></p></li>
49    /// <li>
50    /// <p><code>MEDIUM</code></p></li>
51    /// <li>
52    /// <p><code>LOW</code></p></li>
53    /// <li>
54    /// <p><code>INFORMATIONAL</code></p></li>
55    /// <li>
56    /// <p><code>UNSPECIFIED</code></p></li>
57    /// </ul>
58    pub overall_severity: ::std::option::Option<::std::string::String>,
59    /// <p>For the patches that are noncompliant, the number that have a severity of <code>MEDIUM</code>.</p>
60    pub non_compliant_medium_count: ::std::option::Option<i32>,
61    /// <p>For the patches that are noncompliant, the number that have a severity of <code>UNSPECIFIED</code>.</p>
62    pub non_compliant_unspecified_count: ::std::option::Option<i32>,
63    /// <p>The identifier of the patch group for which compliance was determined. A patch group uses tags to group EC2 instances that should have the same patch compliance.</p>
64    pub patch_group: ::std::option::Option<::std::string::String>,
65}
66impl AwsSsmComplianceSummary {
67    /// <p>The current patch compliance status. Valid values are as follows:</p>
68    /// <ul>
69    /// <li>
70    /// <p><code>COMPLIANT</code></p></li>
71    /// <li>
72    /// <p><code>NON_COMPLIANT</code></p></li>
73    /// <li>
74    /// <p><code>UNSPECIFIED_DATA</code></p></li>
75    /// </ul>
76    pub fn status(&self) -> ::std::option::Option<&str> {
77        self.status.as_deref()
78    }
79    /// <p>For the patches that are compliant, the number that have a severity of <code>CRITICAL</code>.</p>
80    pub fn compliant_critical_count(&self) -> ::std::option::Option<i32> {
81        self.compliant_critical_count
82    }
83    /// <p>For the patches that are compliant, the number that have a severity of <code>HIGH</code>.</p>
84    pub fn compliant_high_count(&self) -> ::std::option::Option<i32> {
85        self.compliant_high_count
86    }
87    /// <p>For the patches that are compliant, the number that have a severity of <code>MEDIUM</code>.</p>
88    pub fn compliant_medium_count(&self) -> ::std::option::Option<i32> {
89        self.compliant_medium_count
90    }
91    /// <p>The type of execution that was used determine compliance.</p>
92    pub fn execution_type(&self) -> ::std::option::Option<&str> {
93        self.execution_type.as_deref()
94    }
95    /// <p>For the patch items that are noncompliant, the number of items that have a severity of <code>CRITICAL</code>.</p>
96    pub fn non_compliant_critical_count(&self) -> ::std::option::Option<i32> {
97        self.non_compliant_critical_count
98    }
99    /// <p>For the patches that are compliant, the number that have a severity of <code>INFORMATIONAL</code>.</p>
100    pub fn compliant_informational_count(&self) -> ::std::option::Option<i32> {
101        self.compliant_informational_count
102    }
103    /// <p>For the patches that are noncompliant, the number that have a severity of <code>INFORMATIONAL</code>.</p>
104    pub fn non_compliant_informational_count(&self) -> ::std::option::Option<i32> {
105        self.non_compliant_informational_count
106    }
107    /// <p>For the patches that are compliant, the number that have a severity of <code>UNSPECIFIED</code>.</p>
108    pub fn compliant_unspecified_count(&self) -> ::std::option::Option<i32> {
109        self.compliant_unspecified_count
110    }
111    /// <p>For the patches that are noncompliant, the number that have a severity of <code>LOW</code>.</p>
112    pub fn non_compliant_low_count(&self) -> ::std::option::Option<i32> {
113        self.non_compliant_low_count
114    }
115    /// <p>For the patches that are noncompliant, the number that have a severity of <code>HIGH</code>.</p>
116    pub fn non_compliant_high_count(&self) -> ::std::option::Option<i32> {
117        self.non_compliant_high_count
118    }
119    /// <p>For the patches that are compliant, the number that have a severity of <code>LOW</code>.</p>
120    pub fn compliant_low_count(&self) -> ::std::option::Option<i32> {
121        self.compliant_low_count
122    }
123    /// <p>The type of resource for which the compliance was determined. For <code>AwsSsmPatchCompliance</code>, <code>ComplianceType</code> is <code>Patch</code>.</p>
124    pub fn compliance_type(&self) -> ::std::option::Option<&str> {
125        self.compliance_type.as_deref()
126    }
127    /// <p>The identifier of the patch baseline. The patch baseline lists the patches that are approved for installation.</p>
128    pub fn patch_baseline_id(&self) -> ::std::option::Option<&str> {
129        self.patch_baseline_id.as_deref()
130    }
131    /// <p>The highest severity for the patches. Valid values are as follows:</p>
132    /// <ul>
133    /// <li>
134    /// <p><code>CRITICAL</code></p></li>
135    /// <li>
136    /// <p><code>HIGH</code></p></li>
137    /// <li>
138    /// <p><code>MEDIUM</code></p></li>
139    /// <li>
140    /// <p><code>LOW</code></p></li>
141    /// <li>
142    /// <p><code>INFORMATIONAL</code></p></li>
143    /// <li>
144    /// <p><code>UNSPECIFIED</code></p></li>
145    /// </ul>
146    pub fn overall_severity(&self) -> ::std::option::Option<&str> {
147        self.overall_severity.as_deref()
148    }
149    /// <p>For the patches that are noncompliant, the number that have a severity of <code>MEDIUM</code>.</p>
150    pub fn non_compliant_medium_count(&self) -> ::std::option::Option<i32> {
151        self.non_compliant_medium_count
152    }
153    /// <p>For the patches that are noncompliant, the number that have a severity of <code>UNSPECIFIED</code>.</p>
154    pub fn non_compliant_unspecified_count(&self) -> ::std::option::Option<i32> {
155        self.non_compliant_unspecified_count
156    }
157    /// <p>The identifier of the patch group for which compliance was determined. A patch group uses tags to group EC2 instances that should have the same patch compliance.</p>
158    pub fn patch_group(&self) -> ::std::option::Option<&str> {
159        self.patch_group.as_deref()
160    }
161}
162impl AwsSsmComplianceSummary {
163    /// Creates a new builder-style object to manufacture [`AwsSsmComplianceSummary`](crate::types::AwsSsmComplianceSummary).
164    pub fn builder() -> crate::types::builders::AwsSsmComplianceSummaryBuilder {
165        crate::types::builders::AwsSsmComplianceSummaryBuilder::default()
166    }
167}
168
169/// A builder for [`AwsSsmComplianceSummary`](crate::types::AwsSsmComplianceSummary).
170#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
171#[non_exhaustive]
172pub struct AwsSsmComplianceSummaryBuilder {
173    pub(crate) status: ::std::option::Option<::std::string::String>,
174    pub(crate) compliant_critical_count: ::std::option::Option<i32>,
175    pub(crate) compliant_high_count: ::std::option::Option<i32>,
176    pub(crate) compliant_medium_count: ::std::option::Option<i32>,
177    pub(crate) execution_type: ::std::option::Option<::std::string::String>,
178    pub(crate) non_compliant_critical_count: ::std::option::Option<i32>,
179    pub(crate) compliant_informational_count: ::std::option::Option<i32>,
180    pub(crate) non_compliant_informational_count: ::std::option::Option<i32>,
181    pub(crate) compliant_unspecified_count: ::std::option::Option<i32>,
182    pub(crate) non_compliant_low_count: ::std::option::Option<i32>,
183    pub(crate) non_compliant_high_count: ::std::option::Option<i32>,
184    pub(crate) compliant_low_count: ::std::option::Option<i32>,
185    pub(crate) compliance_type: ::std::option::Option<::std::string::String>,
186    pub(crate) patch_baseline_id: ::std::option::Option<::std::string::String>,
187    pub(crate) overall_severity: ::std::option::Option<::std::string::String>,
188    pub(crate) non_compliant_medium_count: ::std::option::Option<i32>,
189    pub(crate) non_compliant_unspecified_count: ::std::option::Option<i32>,
190    pub(crate) patch_group: ::std::option::Option<::std::string::String>,
191}
192impl AwsSsmComplianceSummaryBuilder {
193    /// <p>The current patch compliance status. Valid values are as follows:</p>
194    /// <ul>
195    /// <li>
196    /// <p><code>COMPLIANT</code></p></li>
197    /// <li>
198    /// <p><code>NON_COMPLIANT</code></p></li>
199    /// <li>
200    /// <p><code>UNSPECIFIED_DATA</code></p></li>
201    /// </ul>
202    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
203        self.status = ::std::option::Option::Some(input.into());
204        self
205    }
206    /// <p>The current patch compliance status. Valid values are as follows:</p>
207    /// <ul>
208    /// <li>
209    /// <p><code>COMPLIANT</code></p></li>
210    /// <li>
211    /// <p><code>NON_COMPLIANT</code></p></li>
212    /// <li>
213    /// <p><code>UNSPECIFIED_DATA</code></p></li>
214    /// </ul>
215    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
216        self.status = input;
217        self
218    }
219    /// <p>The current patch compliance status. Valid values are as follows:</p>
220    /// <ul>
221    /// <li>
222    /// <p><code>COMPLIANT</code></p></li>
223    /// <li>
224    /// <p><code>NON_COMPLIANT</code></p></li>
225    /// <li>
226    /// <p><code>UNSPECIFIED_DATA</code></p></li>
227    /// </ul>
228    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
229        &self.status
230    }
231    /// <p>For the patches that are compliant, the number that have a severity of <code>CRITICAL</code>.</p>
232    pub fn compliant_critical_count(mut self, input: i32) -> Self {
233        self.compliant_critical_count = ::std::option::Option::Some(input);
234        self
235    }
236    /// <p>For the patches that are compliant, the number that have a severity of <code>CRITICAL</code>.</p>
237    pub fn set_compliant_critical_count(mut self, input: ::std::option::Option<i32>) -> Self {
238        self.compliant_critical_count = input;
239        self
240    }
241    /// <p>For the patches that are compliant, the number that have a severity of <code>CRITICAL</code>.</p>
242    pub fn get_compliant_critical_count(&self) -> &::std::option::Option<i32> {
243        &self.compliant_critical_count
244    }
245    /// <p>For the patches that are compliant, the number that have a severity of <code>HIGH</code>.</p>
246    pub fn compliant_high_count(mut self, input: i32) -> Self {
247        self.compliant_high_count = ::std::option::Option::Some(input);
248        self
249    }
250    /// <p>For the patches that are compliant, the number that have a severity of <code>HIGH</code>.</p>
251    pub fn set_compliant_high_count(mut self, input: ::std::option::Option<i32>) -> Self {
252        self.compliant_high_count = input;
253        self
254    }
255    /// <p>For the patches that are compliant, the number that have a severity of <code>HIGH</code>.</p>
256    pub fn get_compliant_high_count(&self) -> &::std::option::Option<i32> {
257        &self.compliant_high_count
258    }
259    /// <p>For the patches that are compliant, the number that have a severity of <code>MEDIUM</code>.</p>
260    pub fn compliant_medium_count(mut self, input: i32) -> Self {
261        self.compliant_medium_count = ::std::option::Option::Some(input);
262        self
263    }
264    /// <p>For the patches that are compliant, the number that have a severity of <code>MEDIUM</code>.</p>
265    pub fn set_compliant_medium_count(mut self, input: ::std::option::Option<i32>) -> Self {
266        self.compliant_medium_count = input;
267        self
268    }
269    /// <p>For the patches that are compliant, the number that have a severity of <code>MEDIUM</code>.</p>
270    pub fn get_compliant_medium_count(&self) -> &::std::option::Option<i32> {
271        &self.compliant_medium_count
272    }
273    /// <p>The type of execution that was used determine compliance.</p>
274    pub fn execution_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
275        self.execution_type = ::std::option::Option::Some(input.into());
276        self
277    }
278    /// <p>The type of execution that was used determine compliance.</p>
279    pub fn set_execution_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
280        self.execution_type = input;
281        self
282    }
283    /// <p>The type of execution that was used determine compliance.</p>
284    pub fn get_execution_type(&self) -> &::std::option::Option<::std::string::String> {
285        &self.execution_type
286    }
287    /// <p>For the patch items that are noncompliant, the number of items that have a severity of <code>CRITICAL</code>.</p>
288    pub fn non_compliant_critical_count(mut self, input: i32) -> Self {
289        self.non_compliant_critical_count = ::std::option::Option::Some(input);
290        self
291    }
292    /// <p>For the patch items that are noncompliant, the number of items that have a severity of <code>CRITICAL</code>.</p>
293    pub fn set_non_compliant_critical_count(mut self, input: ::std::option::Option<i32>) -> Self {
294        self.non_compliant_critical_count = input;
295        self
296    }
297    /// <p>For the patch items that are noncompliant, the number of items that have a severity of <code>CRITICAL</code>.</p>
298    pub fn get_non_compliant_critical_count(&self) -> &::std::option::Option<i32> {
299        &self.non_compliant_critical_count
300    }
301    /// <p>For the patches that are compliant, the number that have a severity of <code>INFORMATIONAL</code>.</p>
302    pub fn compliant_informational_count(mut self, input: i32) -> Self {
303        self.compliant_informational_count = ::std::option::Option::Some(input);
304        self
305    }
306    /// <p>For the patches that are compliant, the number that have a severity of <code>INFORMATIONAL</code>.</p>
307    pub fn set_compliant_informational_count(mut self, input: ::std::option::Option<i32>) -> Self {
308        self.compliant_informational_count = input;
309        self
310    }
311    /// <p>For the patches that are compliant, the number that have a severity of <code>INFORMATIONAL</code>.</p>
312    pub fn get_compliant_informational_count(&self) -> &::std::option::Option<i32> {
313        &self.compliant_informational_count
314    }
315    /// <p>For the patches that are noncompliant, the number that have a severity of <code>INFORMATIONAL</code>.</p>
316    pub fn non_compliant_informational_count(mut self, input: i32) -> Self {
317        self.non_compliant_informational_count = ::std::option::Option::Some(input);
318        self
319    }
320    /// <p>For the patches that are noncompliant, the number that have a severity of <code>INFORMATIONAL</code>.</p>
321    pub fn set_non_compliant_informational_count(mut self, input: ::std::option::Option<i32>) -> Self {
322        self.non_compliant_informational_count = input;
323        self
324    }
325    /// <p>For the patches that are noncompliant, the number that have a severity of <code>INFORMATIONAL</code>.</p>
326    pub fn get_non_compliant_informational_count(&self) -> &::std::option::Option<i32> {
327        &self.non_compliant_informational_count
328    }
329    /// <p>For the patches that are compliant, the number that have a severity of <code>UNSPECIFIED</code>.</p>
330    pub fn compliant_unspecified_count(mut self, input: i32) -> Self {
331        self.compliant_unspecified_count = ::std::option::Option::Some(input);
332        self
333    }
334    /// <p>For the patches that are compliant, the number that have a severity of <code>UNSPECIFIED</code>.</p>
335    pub fn set_compliant_unspecified_count(mut self, input: ::std::option::Option<i32>) -> Self {
336        self.compliant_unspecified_count = input;
337        self
338    }
339    /// <p>For the patches that are compliant, the number that have a severity of <code>UNSPECIFIED</code>.</p>
340    pub fn get_compliant_unspecified_count(&self) -> &::std::option::Option<i32> {
341        &self.compliant_unspecified_count
342    }
343    /// <p>For the patches that are noncompliant, the number that have a severity of <code>LOW</code>.</p>
344    pub fn non_compliant_low_count(mut self, input: i32) -> Self {
345        self.non_compliant_low_count = ::std::option::Option::Some(input);
346        self
347    }
348    /// <p>For the patches that are noncompliant, the number that have a severity of <code>LOW</code>.</p>
349    pub fn set_non_compliant_low_count(mut self, input: ::std::option::Option<i32>) -> Self {
350        self.non_compliant_low_count = input;
351        self
352    }
353    /// <p>For the patches that are noncompliant, the number that have a severity of <code>LOW</code>.</p>
354    pub fn get_non_compliant_low_count(&self) -> &::std::option::Option<i32> {
355        &self.non_compliant_low_count
356    }
357    /// <p>For the patches that are noncompliant, the number that have a severity of <code>HIGH</code>.</p>
358    pub fn non_compliant_high_count(mut self, input: i32) -> Self {
359        self.non_compliant_high_count = ::std::option::Option::Some(input);
360        self
361    }
362    /// <p>For the patches that are noncompliant, the number that have a severity of <code>HIGH</code>.</p>
363    pub fn set_non_compliant_high_count(mut self, input: ::std::option::Option<i32>) -> Self {
364        self.non_compliant_high_count = input;
365        self
366    }
367    /// <p>For the patches that are noncompliant, the number that have a severity of <code>HIGH</code>.</p>
368    pub fn get_non_compliant_high_count(&self) -> &::std::option::Option<i32> {
369        &self.non_compliant_high_count
370    }
371    /// <p>For the patches that are compliant, the number that have a severity of <code>LOW</code>.</p>
372    pub fn compliant_low_count(mut self, input: i32) -> Self {
373        self.compliant_low_count = ::std::option::Option::Some(input);
374        self
375    }
376    /// <p>For the patches that are compliant, the number that have a severity of <code>LOW</code>.</p>
377    pub fn set_compliant_low_count(mut self, input: ::std::option::Option<i32>) -> Self {
378        self.compliant_low_count = input;
379        self
380    }
381    /// <p>For the patches that are compliant, the number that have a severity of <code>LOW</code>.</p>
382    pub fn get_compliant_low_count(&self) -> &::std::option::Option<i32> {
383        &self.compliant_low_count
384    }
385    /// <p>The type of resource for which the compliance was determined. For <code>AwsSsmPatchCompliance</code>, <code>ComplianceType</code> is <code>Patch</code>.</p>
386    pub fn compliance_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
387        self.compliance_type = ::std::option::Option::Some(input.into());
388        self
389    }
390    /// <p>The type of resource for which the compliance was determined. For <code>AwsSsmPatchCompliance</code>, <code>ComplianceType</code> is <code>Patch</code>.</p>
391    pub fn set_compliance_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
392        self.compliance_type = input;
393        self
394    }
395    /// <p>The type of resource for which the compliance was determined. For <code>AwsSsmPatchCompliance</code>, <code>ComplianceType</code> is <code>Patch</code>.</p>
396    pub fn get_compliance_type(&self) -> &::std::option::Option<::std::string::String> {
397        &self.compliance_type
398    }
399    /// <p>The identifier of the patch baseline. The patch baseline lists the patches that are approved for installation.</p>
400    pub fn patch_baseline_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
401        self.patch_baseline_id = ::std::option::Option::Some(input.into());
402        self
403    }
404    /// <p>The identifier of the patch baseline. The patch baseline lists the patches that are approved for installation.</p>
405    pub fn set_patch_baseline_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
406        self.patch_baseline_id = input;
407        self
408    }
409    /// <p>The identifier of the patch baseline. The patch baseline lists the patches that are approved for installation.</p>
410    pub fn get_patch_baseline_id(&self) -> &::std::option::Option<::std::string::String> {
411        &self.patch_baseline_id
412    }
413    /// <p>The highest severity for the patches. Valid values are as follows:</p>
414    /// <ul>
415    /// <li>
416    /// <p><code>CRITICAL</code></p></li>
417    /// <li>
418    /// <p><code>HIGH</code></p></li>
419    /// <li>
420    /// <p><code>MEDIUM</code></p></li>
421    /// <li>
422    /// <p><code>LOW</code></p></li>
423    /// <li>
424    /// <p><code>INFORMATIONAL</code></p></li>
425    /// <li>
426    /// <p><code>UNSPECIFIED</code></p></li>
427    /// </ul>
428    pub fn overall_severity(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
429        self.overall_severity = ::std::option::Option::Some(input.into());
430        self
431    }
432    /// <p>The highest severity for the patches. Valid values are as follows:</p>
433    /// <ul>
434    /// <li>
435    /// <p><code>CRITICAL</code></p></li>
436    /// <li>
437    /// <p><code>HIGH</code></p></li>
438    /// <li>
439    /// <p><code>MEDIUM</code></p></li>
440    /// <li>
441    /// <p><code>LOW</code></p></li>
442    /// <li>
443    /// <p><code>INFORMATIONAL</code></p></li>
444    /// <li>
445    /// <p><code>UNSPECIFIED</code></p></li>
446    /// </ul>
447    pub fn set_overall_severity(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
448        self.overall_severity = input;
449        self
450    }
451    /// <p>The highest severity for the patches. Valid values are as follows:</p>
452    /// <ul>
453    /// <li>
454    /// <p><code>CRITICAL</code></p></li>
455    /// <li>
456    /// <p><code>HIGH</code></p></li>
457    /// <li>
458    /// <p><code>MEDIUM</code></p></li>
459    /// <li>
460    /// <p><code>LOW</code></p></li>
461    /// <li>
462    /// <p><code>INFORMATIONAL</code></p></li>
463    /// <li>
464    /// <p><code>UNSPECIFIED</code></p></li>
465    /// </ul>
466    pub fn get_overall_severity(&self) -> &::std::option::Option<::std::string::String> {
467        &self.overall_severity
468    }
469    /// <p>For the patches that are noncompliant, the number that have a severity of <code>MEDIUM</code>.</p>
470    pub fn non_compliant_medium_count(mut self, input: i32) -> Self {
471        self.non_compliant_medium_count = ::std::option::Option::Some(input);
472        self
473    }
474    /// <p>For the patches that are noncompliant, the number that have a severity of <code>MEDIUM</code>.</p>
475    pub fn set_non_compliant_medium_count(mut self, input: ::std::option::Option<i32>) -> Self {
476        self.non_compliant_medium_count = input;
477        self
478    }
479    /// <p>For the patches that are noncompliant, the number that have a severity of <code>MEDIUM</code>.</p>
480    pub fn get_non_compliant_medium_count(&self) -> &::std::option::Option<i32> {
481        &self.non_compliant_medium_count
482    }
483    /// <p>For the patches that are noncompliant, the number that have a severity of <code>UNSPECIFIED</code>.</p>
484    pub fn non_compliant_unspecified_count(mut self, input: i32) -> Self {
485        self.non_compliant_unspecified_count = ::std::option::Option::Some(input);
486        self
487    }
488    /// <p>For the patches that are noncompliant, the number that have a severity of <code>UNSPECIFIED</code>.</p>
489    pub fn set_non_compliant_unspecified_count(mut self, input: ::std::option::Option<i32>) -> Self {
490        self.non_compliant_unspecified_count = input;
491        self
492    }
493    /// <p>For the patches that are noncompliant, the number that have a severity of <code>UNSPECIFIED</code>.</p>
494    pub fn get_non_compliant_unspecified_count(&self) -> &::std::option::Option<i32> {
495        &self.non_compliant_unspecified_count
496    }
497    /// <p>The identifier of the patch group for which compliance was determined. A patch group uses tags to group EC2 instances that should have the same patch compliance.</p>
498    pub fn patch_group(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
499        self.patch_group = ::std::option::Option::Some(input.into());
500        self
501    }
502    /// <p>The identifier of the patch group for which compliance was determined. A patch group uses tags to group EC2 instances that should have the same patch compliance.</p>
503    pub fn set_patch_group(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
504        self.patch_group = input;
505        self
506    }
507    /// <p>The identifier of the patch group for which compliance was determined. A patch group uses tags to group EC2 instances that should have the same patch compliance.</p>
508    pub fn get_patch_group(&self) -> &::std::option::Option<::std::string::String> {
509        &self.patch_group
510    }
511    /// Consumes the builder and constructs a [`AwsSsmComplianceSummary`](crate::types::AwsSsmComplianceSummary).
512    pub fn build(self) -> crate::types::AwsSsmComplianceSummary {
513        crate::types::AwsSsmComplianceSummary {
514            status: self.status,
515            compliant_critical_count: self.compliant_critical_count,
516            compliant_high_count: self.compliant_high_count,
517            compliant_medium_count: self.compliant_medium_count,
518            execution_type: self.execution_type,
519            non_compliant_critical_count: self.non_compliant_critical_count,
520            compliant_informational_count: self.compliant_informational_count,
521            non_compliant_informational_count: self.non_compliant_informational_count,
522            compliant_unspecified_count: self.compliant_unspecified_count,
523            non_compliant_low_count: self.non_compliant_low_count,
524            non_compliant_high_count: self.non_compliant_high_count,
525            compliant_low_count: self.compliant_low_count,
526            compliance_type: self.compliance_type,
527            patch_baseline_id: self.patch_baseline_id,
528            overall_severity: self.overall_severity,
529            non_compliant_medium_count: self.non_compliant_medium_count,
530            non_compliant_unspecified_count: self.non_compliant_unspecified_count,
531            patch_group: self.patch_group,
532        }
533    }
534}