/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Provides the details about the compliance status for a patch.

See * Also:

AWS * API Reference

*/ class AwsSsmComplianceSummary { public: AWS_SECURITYHUB_API AwsSsmComplianceSummary(); AWS_SECURITYHUB_API AwsSsmComplianceSummary(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsSsmComplianceSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The current patch compliance status. Valid values are as follows:

    *
  • COMPLIANT

  • NON_COMPLIANT *

  • UNSPECIFIED_DATA

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The current patch compliance status. Valid values are as follows:

    *
  • COMPLIANT

  • NON_COMPLIANT *

  • UNSPECIFIED_DATA

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current patch compliance status. Valid values are as follows:

    *
  • COMPLIANT

  • NON_COMPLIANT *

  • UNSPECIFIED_DATA

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current patch compliance status. Valid values are as follows:

    *
  • COMPLIANT

  • NON_COMPLIANT *

  • UNSPECIFIED_DATA

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current patch compliance status. Valid values are as follows:

    *
  • COMPLIANT

  • NON_COMPLIANT *

  • UNSPECIFIED_DATA

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The current patch compliance status. Valid values are as follows:

    *
  • COMPLIANT

  • NON_COMPLIANT *

  • UNSPECIFIED_DATA

*/ inline AwsSsmComplianceSummary& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The current patch compliance status. Valid values are as follows:

    *
  • COMPLIANT

  • NON_COMPLIANT *

  • UNSPECIFIED_DATA

*/ inline AwsSsmComplianceSummary& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The current patch compliance status. Valid values are as follows:

    *
  • COMPLIANT

  • NON_COMPLIANT *

  • UNSPECIFIED_DATA

*/ inline AwsSsmComplianceSummary& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

For the patches that are compliant, the number that have a severity of * CRITICAL.

*/ inline int GetCompliantCriticalCount() const{ return m_compliantCriticalCount; } /** *

For the patches that are compliant, the number that have a severity of * CRITICAL.

*/ inline bool CompliantCriticalCountHasBeenSet() const { return m_compliantCriticalCountHasBeenSet; } /** *

For the patches that are compliant, the number that have a severity of * CRITICAL.

*/ inline void SetCompliantCriticalCount(int value) { m_compliantCriticalCountHasBeenSet = true; m_compliantCriticalCount = value; } /** *

For the patches that are compliant, the number that have a severity of * CRITICAL.

*/ inline AwsSsmComplianceSummary& WithCompliantCriticalCount(int value) { SetCompliantCriticalCount(value); return *this;} /** *

For the patches that are compliant, the number that have a severity of * HIGH.

*/ inline int GetCompliantHighCount() const{ return m_compliantHighCount; } /** *

For the patches that are compliant, the number that have a severity of * HIGH.

*/ inline bool CompliantHighCountHasBeenSet() const { return m_compliantHighCountHasBeenSet; } /** *

For the patches that are compliant, the number that have a severity of * HIGH.

*/ inline void SetCompliantHighCount(int value) { m_compliantHighCountHasBeenSet = true; m_compliantHighCount = value; } /** *

For the patches that are compliant, the number that have a severity of * HIGH.

*/ inline AwsSsmComplianceSummary& WithCompliantHighCount(int value) { SetCompliantHighCount(value); return *this;} /** *

For the patches that are compliant, the number that have a severity of * MEDIUM.

*/ inline int GetCompliantMediumCount() const{ return m_compliantMediumCount; } /** *

For the patches that are compliant, the number that have a severity of * MEDIUM.

*/ inline bool CompliantMediumCountHasBeenSet() const { return m_compliantMediumCountHasBeenSet; } /** *

For the patches that are compliant, the number that have a severity of * MEDIUM.

*/ inline void SetCompliantMediumCount(int value) { m_compliantMediumCountHasBeenSet = true; m_compliantMediumCount = value; } /** *

For the patches that are compliant, the number that have a severity of * MEDIUM.

*/ inline AwsSsmComplianceSummary& WithCompliantMediumCount(int value) { SetCompliantMediumCount(value); return *this;} /** *

The type of execution that was used determine compliance.

*/ inline const Aws::String& GetExecutionType() const{ return m_executionType; } /** *

The type of execution that was used determine compliance.

*/ inline bool ExecutionTypeHasBeenSet() const { return m_executionTypeHasBeenSet; } /** *

The type of execution that was used determine compliance.

*/ inline void SetExecutionType(const Aws::String& value) { m_executionTypeHasBeenSet = true; m_executionType = value; } /** *

The type of execution that was used determine compliance.

*/ inline void SetExecutionType(Aws::String&& value) { m_executionTypeHasBeenSet = true; m_executionType = std::move(value); } /** *

The type of execution that was used determine compliance.

*/ inline void SetExecutionType(const char* value) { m_executionTypeHasBeenSet = true; m_executionType.assign(value); } /** *

The type of execution that was used determine compliance.

*/ inline AwsSsmComplianceSummary& WithExecutionType(const Aws::String& value) { SetExecutionType(value); return *this;} /** *

The type of execution that was used determine compliance.

*/ inline AwsSsmComplianceSummary& WithExecutionType(Aws::String&& value) { SetExecutionType(std::move(value)); return *this;} /** *

The type of execution that was used determine compliance.

*/ inline AwsSsmComplianceSummary& WithExecutionType(const char* value) { SetExecutionType(value); return *this;} /** *

For the patch items that are noncompliant, the number of items that have a * severity of CRITICAL.

*/ inline int GetNonCompliantCriticalCount() const{ return m_nonCompliantCriticalCount; } /** *

For the patch items that are noncompliant, the number of items that have a * severity of CRITICAL.

*/ inline bool NonCompliantCriticalCountHasBeenSet() const { return m_nonCompliantCriticalCountHasBeenSet; } /** *

For the patch items that are noncompliant, the number of items that have a * severity of CRITICAL.

*/ inline void SetNonCompliantCriticalCount(int value) { m_nonCompliantCriticalCountHasBeenSet = true; m_nonCompliantCriticalCount = value; } /** *

For the patch items that are noncompliant, the number of items that have a * severity of CRITICAL.

*/ inline AwsSsmComplianceSummary& WithNonCompliantCriticalCount(int value) { SetNonCompliantCriticalCount(value); return *this;} /** *

For the patches that are compliant, the number that have a severity of * INFORMATIONAL.

*/ inline int GetCompliantInformationalCount() const{ return m_compliantInformationalCount; } /** *

For the patches that are compliant, the number that have a severity of * INFORMATIONAL.

*/ inline bool CompliantInformationalCountHasBeenSet() const { return m_compliantInformationalCountHasBeenSet; } /** *

For the patches that are compliant, the number that have a severity of * INFORMATIONAL.

*/ inline void SetCompliantInformationalCount(int value) { m_compliantInformationalCountHasBeenSet = true; m_compliantInformationalCount = value; } /** *

For the patches that are compliant, the number that have a severity of * INFORMATIONAL.

*/ inline AwsSsmComplianceSummary& WithCompliantInformationalCount(int value) { SetCompliantInformationalCount(value); return *this;} /** *

For the patches that are noncompliant, the number that have a severity of * INFORMATIONAL.

*/ inline int GetNonCompliantInformationalCount() const{ return m_nonCompliantInformationalCount; } /** *

For the patches that are noncompliant, the number that have a severity of * INFORMATIONAL.

*/ inline bool NonCompliantInformationalCountHasBeenSet() const { return m_nonCompliantInformationalCountHasBeenSet; } /** *

For the patches that are noncompliant, the number that have a severity of * INFORMATIONAL.

*/ inline void SetNonCompliantInformationalCount(int value) { m_nonCompliantInformationalCountHasBeenSet = true; m_nonCompliantInformationalCount = value; } /** *

For the patches that are noncompliant, the number that have a severity of * INFORMATIONAL.

*/ inline AwsSsmComplianceSummary& WithNonCompliantInformationalCount(int value) { SetNonCompliantInformationalCount(value); return *this;} /** *

For the patches that are compliant, the number that have a severity of * UNSPECIFIED.

*/ inline int GetCompliantUnspecifiedCount() const{ return m_compliantUnspecifiedCount; } /** *

For the patches that are compliant, the number that have a severity of * UNSPECIFIED.

*/ inline bool CompliantUnspecifiedCountHasBeenSet() const { return m_compliantUnspecifiedCountHasBeenSet; } /** *

For the patches that are compliant, the number that have a severity of * UNSPECIFIED.

*/ inline void SetCompliantUnspecifiedCount(int value) { m_compliantUnspecifiedCountHasBeenSet = true; m_compliantUnspecifiedCount = value; } /** *

For the patches that are compliant, the number that have a severity of * UNSPECIFIED.

*/ inline AwsSsmComplianceSummary& WithCompliantUnspecifiedCount(int value) { SetCompliantUnspecifiedCount(value); return *this;} /** *

For the patches that are noncompliant, the number that have a severity of * LOW.

*/ inline int GetNonCompliantLowCount() const{ return m_nonCompliantLowCount; } /** *

For the patches that are noncompliant, the number that have a severity of * LOW.

*/ inline bool NonCompliantLowCountHasBeenSet() const { return m_nonCompliantLowCountHasBeenSet; } /** *

For the patches that are noncompliant, the number that have a severity of * LOW.

*/ inline void SetNonCompliantLowCount(int value) { m_nonCompliantLowCountHasBeenSet = true; m_nonCompliantLowCount = value; } /** *

For the patches that are noncompliant, the number that have a severity of * LOW.

*/ inline AwsSsmComplianceSummary& WithNonCompliantLowCount(int value) { SetNonCompliantLowCount(value); return *this;} /** *

For the patches that are noncompliant, the number that have a severity of * HIGH.

*/ inline int GetNonCompliantHighCount() const{ return m_nonCompliantHighCount; } /** *

For the patches that are noncompliant, the number that have a severity of * HIGH.

*/ inline bool NonCompliantHighCountHasBeenSet() const { return m_nonCompliantHighCountHasBeenSet; } /** *

For the patches that are noncompliant, the number that have a severity of * HIGH.

*/ inline void SetNonCompliantHighCount(int value) { m_nonCompliantHighCountHasBeenSet = true; m_nonCompliantHighCount = value; } /** *

For the patches that are noncompliant, the number that have a severity of * HIGH.

*/ inline AwsSsmComplianceSummary& WithNonCompliantHighCount(int value) { SetNonCompliantHighCount(value); return *this;} /** *

For the patches that are compliant, the number that have a severity of * LOW.

*/ inline int GetCompliantLowCount() const{ return m_compliantLowCount; } /** *

For the patches that are compliant, the number that have a severity of * LOW.

*/ inline bool CompliantLowCountHasBeenSet() const { return m_compliantLowCountHasBeenSet; } /** *

For the patches that are compliant, the number that have a severity of * LOW.

*/ inline void SetCompliantLowCount(int value) { m_compliantLowCountHasBeenSet = true; m_compliantLowCount = value; } /** *

For the patches that are compliant, the number that have a severity of * LOW.

*/ inline AwsSsmComplianceSummary& WithCompliantLowCount(int value) { SetCompliantLowCount(value); return *this;} /** *

The type of resource for which the compliance was determined. For * AwsSsmPatchCompliance, ComplianceType is * Patch.

*/ inline const Aws::String& GetComplianceType() const{ return m_complianceType; } /** *

The type of resource for which the compliance was determined. For * AwsSsmPatchCompliance, ComplianceType is * Patch.

*/ inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; } /** *

The type of resource for which the compliance was determined. For * AwsSsmPatchCompliance, ComplianceType is * Patch.

*/ inline void SetComplianceType(const Aws::String& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; } /** *

The type of resource for which the compliance was determined. For * AwsSsmPatchCompliance, ComplianceType is * Patch.

*/ inline void SetComplianceType(Aws::String&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); } /** *

The type of resource for which the compliance was determined. For * AwsSsmPatchCompliance, ComplianceType is * Patch.

*/ inline void SetComplianceType(const char* value) { m_complianceTypeHasBeenSet = true; m_complianceType.assign(value); } /** *

The type of resource for which the compliance was determined. For * AwsSsmPatchCompliance, ComplianceType is * Patch.

*/ inline AwsSsmComplianceSummary& WithComplianceType(const Aws::String& value) { SetComplianceType(value); return *this;} /** *

The type of resource for which the compliance was determined. For * AwsSsmPatchCompliance, ComplianceType is * Patch.

*/ inline AwsSsmComplianceSummary& WithComplianceType(Aws::String&& value) { SetComplianceType(std::move(value)); return *this;} /** *

The type of resource for which the compliance was determined. For * AwsSsmPatchCompliance, ComplianceType is * Patch.

*/ inline AwsSsmComplianceSummary& WithComplianceType(const char* value) { SetComplianceType(value); return *this;} /** *

The identifier of the patch baseline. The patch baseline lists the patches * that are approved for installation.

*/ inline const Aws::String& GetPatchBaselineId() const{ return m_patchBaselineId; } /** *

The identifier of the patch baseline. The patch baseline lists the patches * that are approved for installation.

*/ inline bool PatchBaselineIdHasBeenSet() const { return m_patchBaselineIdHasBeenSet; } /** *

The identifier of the patch baseline. The patch baseline lists the patches * that are approved for installation.

*/ inline void SetPatchBaselineId(const Aws::String& value) { m_patchBaselineIdHasBeenSet = true; m_patchBaselineId = value; } /** *

The identifier of the patch baseline. The patch baseline lists the patches * that are approved for installation.

*/ inline void SetPatchBaselineId(Aws::String&& value) { m_patchBaselineIdHasBeenSet = true; m_patchBaselineId = std::move(value); } /** *

The identifier of the patch baseline. The patch baseline lists the patches * that are approved for installation.

*/ inline void SetPatchBaselineId(const char* value) { m_patchBaselineIdHasBeenSet = true; m_patchBaselineId.assign(value); } /** *

The identifier of the patch baseline. The patch baseline lists the patches * that are approved for installation.

*/ inline AwsSsmComplianceSummary& WithPatchBaselineId(const Aws::String& value) { SetPatchBaselineId(value); return *this;} /** *

The identifier of the patch baseline. The patch baseline lists the patches * that are approved for installation.

*/ inline AwsSsmComplianceSummary& WithPatchBaselineId(Aws::String&& value) { SetPatchBaselineId(std::move(value)); return *this;} /** *

The identifier of the patch baseline. The patch baseline lists the patches * that are approved for installation.

*/ inline AwsSsmComplianceSummary& WithPatchBaselineId(const char* value) { SetPatchBaselineId(value); return *this;} /** *

The highest severity for the patches. Valid values are as follows:

    *
  • CRITICAL

  • HIGH

  • *
  • MEDIUM

  • LOW

  • *
  • INFORMATIONAL

  • UNSPECIFIED *

*/ inline const Aws::String& GetOverallSeverity() const{ return m_overallSeverity; } /** *

The highest severity for the patches. Valid values are as follows:

    *
  • CRITICAL

  • HIGH

  • *
  • MEDIUM

  • LOW

  • *
  • INFORMATIONAL

  • UNSPECIFIED *

*/ inline bool OverallSeverityHasBeenSet() const { return m_overallSeverityHasBeenSet; } /** *

The highest severity for the patches. Valid values are as follows:

    *
  • CRITICAL

  • HIGH

  • *
  • MEDIUM

  • LOW

  • *
  • INFORMATIONAL

  • UNSPECIFIED *

*/ inline void SetOverallSeverity(const Aws::String& value) { m_overallSeverityHasBeenSet = true; m_overallSeverity = value; } /** *

The highest severity for the patches. Valid values are as follows:

    *
  • CRITICAL

  • HIGH

  • *
  • MEDIUM

  • LOW

  • *
  • INFORMATIONAL

  • UNSPECIFIED *

*/ inline void SetOverallSeverity(Aws::String&& value) { m_overallSeverityHasBeenSet = true; m_overallSeverity = std::move(value); } /** *

The highest severity for the patches. Valid values are as follows:

    *
  • CRITICAL

  • HIGH

  • *
  • MEDIUM

  • LOW

  • *
  • INFORMATIONAL

  • UNSPECIFIED *

*/ inline void SetOverallSeverity(const char* value) { m_overallSeverityHasBeenSet = true; m_overallSeverity.assign(value); } /** *

The highest severity for the patches. Valid values are as follows:

    *
  • CRITICAL

  • HIGH

  • *
  • MEDIUM

  • LOW

  • *
  • INFORMATIONAL

  • UNSPECIFIED *

*/ inline AwsSsmComplianceSummary& WithOverallSeverity(const Aws::String& value) { SetOverallSeverity(value); return *this;} /** *

The highest severity for the patches. Valid values are as follows:

    *
  • CRITICAL

  • HIGH

  • *
  • MEDIUM

  • LOW

  • *
  • INFORMATIONAL

  • UNSPECIFIED *

*/ inline AwsSsmComplianceSummary& WithOverallSeverity(Aws::String&& value) { SetOverallSeverity(std::move(value)); return *this;} /** *

The highest severity for the patches. Valid values are as follows:

    *
  • CRITICAL

  • HIGH

  • *
  • MEDIUM

  • LOW

  • *
  • INFORMATIONAL

  • UNSPECIFIED *

*/ inline AwsSsmComplianceSummary& WithOverallSeverity(const char* value) { SetOverallSeverity(value); return *this;} /** *

For the patches that are noncompliant, the number that have a severity of * MEDIUM.

*/ inline int GetNonCompliantMediumCount() const{ return m_nonCompliantMediumCount; } /** *

For the patches that are noncompliant, the number that have a severity of * MEDIUM.

*/ inline bool NonCompliantMediumCountHasBeenSet() const { return m_nonCompliantMediumCountHasBeenSet; } /** *

For the patches that are noncompliant, the number that have a severity of * MEDIUM.

*/ inline void SetNonCompliantMediumCount(int value) { m_nonCompliantMediumCountHasBeenSet = true; m_nonCompliantMediumCount = value; } /** *

For the patches that are noncompliant, the number that have a severity of * MEDIUM.

*/ inline AwsSsmComplianceSummary& WithNonCompliantMediumCount(int value) { SetNonCompliantMediumCount(value); return *this;} /** *

For the patches that are noncompliant, the number that have a severity of * UNSPECIFIED.

*/ inline int GetNonCompliantUnspecifiedCount() const{ return m_nonCompliantUnspecifiedCount; } /** *

For the patches that are noncompliant, the number that have a severity of * UNSPECIFIED.

*/ inline bool NonCompliantUnspecifiedCountHasBeenSet() const { return m_nonCompliantUnspecifiedCountHasBeenSet; } /** *

For the patches that are noncompliant, the number that have a severity of * UNSPECIFIED.

*/ inline void SetNonCompliantUnspecifiedCount(int value) { m_nonCompliantUnspecifiedCountHasBeenSet = true; m_nonCompliantUnspecifiedCount = value; } /** *

For the patches that are noncompliant, the number that have a severity of * UNSPECIFIED.

*/ inline AwsSsmComplianceSummary& WithNonCompliantUnspecifiedCount(int value) { SetNonCompliantUnspecifiedCount(value); return *this;} /** *

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.

*/ inline const Aws::String& GetPatchGroup() const{ return m_patchGroup; } /** *

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.

*/ inline bool PatchGroupHasBeenSet() const { return m_patchGroupHasBeenSet; } /** *

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.

*/ inline void SetPatchGroup(const Aws::String& value) { m_patchGroupHasBeenSet = true; m_patchGroup = value; } /** *

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.

*/ inline void SetPatchGroup(Aws::String&& value) { m_patchGroupHasBeenSet = true; m_patchGroup = std::move(value); } /** *

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.

*/ inline void SetPatchGroup(const char* value) { m_patchGroupHasBeenSet = true; m_patchGroup.assign(value); } /** *

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.

*/ inline AwsSsmComplianceSummary& WithPatchGroup(const Aws::String& value) { SetPatchGroup(value); return *this;} /** *

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.

*/ inline AwsSsmComplianceSummary& WithPatchGroup(Aws::String&& value) { SetPatchGroup(std::move(value)); return *this;} /** *

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.

*/ inline AwsSsmComplianceSummary& WithPatchGroup(const char* value) { SetPatchGroup(value); return *this;} private: Aws::String m_status; bool m_statusHasBeenSet = false; int m_compliantCriticalCount; bool m_compliantCriticalCountHasBeenSet = false; int m_compliantHighCount; bool m_compliantHighCountHasBeenSet = false; int m_compliantMediumCount; bool m_compliantMediumCountHasBeenSet = false; Aws::String m_executionType; bool m_executionTypeHasBeenSet = false; int m_nonCompliantCriticalCount; bool m_nonCompliantCriticalCountHasBeenSet = false; int m_compliantInformationalCount; bool m_compliantInformationalCountHasBeenSet = false; int m_nonCompliantInformationalCount; bool m_nonCompliantInformationalCountHasBeenSet = false; int m_compliantUnspecifiedCount; bool m_compliantUnspecifiedCountHasBeenSet = false; int m_nonCompliantLowCount; bool m_nonCompliantLowCountHasBeenSet = false; int m_nonCompliantHighCount; bool m_nonCompliantHighCountHasBeenSet = false; int m_compliantLowCount; bool m_compliantLowCountHasBeenSet = false; Aws::String m_complianceType; bool m_complianceTypeHasBeenSet = false; Aws::String m_patchBaselineId; bool m_patchBaselineIdHasBeenSet = false; Aws::String m_overallSeverity; bool m_overallSeverityHasBeenSet = false; int m_nonCompliantMediumCount; bool m_nonCompliantMediumCountHasBeenSet = false; int m_nonCompliantUnspecifiedCount; bool m_nonCompliantUnspecifiedCountHasBeenSet = false; Aws::String m_patchGroup; bool m_patchGroupHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws