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

Contains finding details that are specific to control-based findings. Only * returned for findings generated from controls.

See Also:

AWS * API Reference

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

The result of a standards check.

The valid values for * Status are as follows.

    • * PASSED - Standards check passed for all evaluated resources.

      *
    • WARNING - Some information is missing or this check * is not supported for your configuration.

    • FAILED * - Standards check failed for at least one evaluated resource.

    • * NOT_AVAILABLE - Check could not be performed due to a service * outage, API error, or because the result of the AWS Config evaluation was * NOT_APPLICABLE. If the AWS Config evaluation result was * NOT_APPLICABLE, then after 3 days, Security Hub automatically * archives the finding.

*/ inline const ComplianceStatus& GetStatus() const{ return m_status; } /** *

The result of a standards check.

The valid values for * Status are as follows.

    • * PASSED - Standards check passed for all evaluated resources.

      *
    • WARNING - Some information is missing or this check * is not supported for your configuration.

    • FAILED * - Standards check failed for at least one evaluated resource.

    • * NOT_AVAILABLE - Check could not be performed due to a service * outage, API error, or because the result of the AWS Config evaluation was * NOT_APPLICABLE. If the AWS Config evaluation result was * NOT_APPLICABLE, then after 3 days, Security Hub automatically * archives the finding.

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

The result of a standards check.

The valid values for * Status are as follows.

    • * PASSED - Standards check passed for all evaluated resources.

      *
    • WARNING - Some information is missing or this check * is not supported for your configuration.

    • FAILED * - Standards check failed for at least one evaluated resource.

    • * NOT_AVAILABLE - Check could not be performed due to a service * outage, API error, or because the result of the AWS Config evaluation was * NOT_APPLICABLE. If the AWS Config evaluation result was * NOT_APPLICABLE, then after 3 days, Security Hub automatically * archives the finding.

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

The result of a standards check.

The valid values for * Status are as follows.

    • * PASSED - Standards check passed for all evaluated resources.

      *
    • WARNING - Some information is missing or this check * is not supported for your configuration.

    • FAILED * - Standards check failed for at least one evaluated resource.

    • * NOT_AVAILABLE - Check could not be performed due to a service * outage, API error, or because the result of the AWS Config evaluation was * NOT_APPLICABLE. If the AWS Config evaluation result was * NOT_APPLICABLE, then after 3 days, Security Hub automatically * archives the finding.

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

The result of a standards check.

The valid values for * Status are as follows.

    • * PASSED - Standards check passed for all evaluated resources.

      *
    • WARNING - Some information is missing or this check * is not supported for your configuration.

    • FAILED * - Standards check failed for at least one evaluated resource.

    • * NOT_AVAILABLE - Check could not be performed due to a service * outage, API error, or because the result of the AWS Config evaluation was * NOT_APPLICABLE. If the AWS Config evaluation result was * NOT_APPLICABLE, then after 3 days, Security Hub automatically * archives the finding.

*/ inline Compliance& WithStatus(const ComplianceStatus& value) { SetStatus(value); return *this;} /** *

The result of a standards check.

The valid values for * Status are as follows.

    • * PASSED - Standards check passed for all evaluated resources.

      *
    • WARNING - Some information is missing or this check * is not supported for your configuration.

    • FAILED * - Standards check failed for at least one evaluated resource.

    • * NOT_AVAILABLE - Check could not be performed due to a service * outage, API error, or because the result of the AWS Config evaluation was * NOT_APPLICABLE. If the AWS Config evaluation result was * NOT_APPLICABLE, then after 3 days, Security Hub automatically * archives the finding.

*/ inline Compliance& WithStatus(ComplianceStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

For a control, the industry or regulatory framework requirements that are * related to the control. The check for that control is aligned with these * requirements.

*/ inline const Aws::Vector& GetRelatedRequirements() const{ return m_relatedRequirements; } /** *

For a control, the industry or regulatory framework requirements that are * related to the control. The check for that control is aligned with these * requirements.

*/ inline bool RelatedRequirementsHasBeenSet() const { return m_relatedRequirementsHasBeenSet; } /** *

For a control, the industry or regulatory framework requirements that are * related to the control. The check for that control is aligned with these * requirements.

*/ inline void SetRelatedRequirements(const Aws::Vector& value) { m_relatedRequirementsHasBeenSet = true; m_relatedRequirements = value; } /** *

For a control, the industry or regulatory framework requirements that are * related to the control. The check for that control is aligned with these * requirements.

*/ inline void SetRelatedRequirements(Aws::Vector&& value) { m_relatedRequirementsHasBeenSet = true; m_relatedRequirements = std::move(value); } /** *

For a control, the industry or regulatory framework requirements that are * related to the control. The check for that control is aligned with these * requirements.

*/ inline Compliance& WithRelatedRequirements(const Aws::Vector& value) { SetRelatedRequirements(value); return *this;} /** *

For a control, the industry or regulatory framework requirements that are * related to the control. The check for that control is aligned with these * requirements.

*/ inline Compliance& WithRelatedRequirements(Aws::Vector&& value) { SetRelatedRequirements(std::move(value)); return *this;} /** *

For a control, the industry or regulatory framework requirements that are * related to the control. The check for that control is aligned with these * requirements.

*/ inline Compliance& AddRelatedRequirements(const Aws::String& value) { m_relatedRequirementsHasBeenSet = true; m_relatedRequirements.push_back(value); return *this; } /** *

For a control, the industry or regulatory framework requirements that are * related to the control. The check for that control is aligned with these * requirements.

*/ inline Compliance& AddRelatedRequirements(Aws::String&& value) { m_relatedRequirementsHasBeenSet = true; m_relatedRequirements.push_back(std::move(value)); return *this; } /** *

For a control, the industry or regulatory framework requirements that are * related to the control. The check for that control is aligned with these * requirements.

*/ inline Compliance& AddRelatedRequirements(const char* value) { m_relatedRequirementsHasBeenSet = true; m_relatedRequirements.push_back(value); return *this; } /** *

For findings generated from controls, a list of reasons behind the value of * Status. For the list of status reason codes and their meanings, see * Standards-related * information in the ASFF in the AWS Security Hub User Guide.

*/ inline const Aws::Vector& GetStatusReasons() const{ return m_statusReasons; } /** *

For findings generated from controls, a list of reasons behind the value of * Status. For the list of status reason codes and their meanings, see * Standards-related * information in the ASFF in the AWS Security Hub User Guide.

*/ inline bool StatusReasonsHasBeenSet() const { return m_statusReasonsHasBeenSet; } /** *

For findings generated from controls, a list of reasons behind the value of * Status. For the list of status reason codes and their meanings, see * Standards-related * information in the ASFF in the AWS Security Hub User Guide.

*/ inline void SetStatusReasons(const Aws::Vector& value) { m_statusReasonsHasBeenSet = true; m_statusReasons = value; } /** *

For findings generated from controls, a list of reasons behind the value of * Status. For the list of status reason codes and their meanings, see * Standards-related * information in the ASFF in the AWS Security Hub User Guide.

*/ inline void SetStatusReasons(Aws::Vector&& value) { m_statusReasonsHasBeenSet = true; m_statusReasons = std::move(value); } /** *

For findings generated from controls, a list of reasons behind the value of * Status. For the list of status reason codes and their meanings, see * Standards-related * information in the ASFF in the AWS Security Hub User Guide.

*/ inline Compliance& WithStatusReasons(const Aws::Vector& value) { SetStatusReasons(value); return *this;} /** *

For findings generated from controls, a list of reasons behind the value of * Status. For the list of status reason codes and their meanings, see * Standards-related * information in the ASFF in the AWS Security Hub User Guide.

*/ inline Compliance& WithStatusReasons(Aws::Vector&& value) { SetStatusReasons(std::move(value)); return *this;} /** *

For findings generated from controls, a list of reasons behind the value of * Status. For the list of status reason codes and their meanings, see * Standards-related * information in the ASFF in the AWS Security Hub User Guide.

*/ inline Compliance& AddStatusReasons(const StatusReason& value) { m_statusReasonsHasBeenSet = true; m_statusReasons.push_back(value); return *this; } /** *

For findings generated from controls, a list of reasons behind the value of * Status. For the list of status reason codes and their meanings, see * Standards-related * information in the ASFF in the AWS Security Hub User Guide.

*/ inline Compliance& AddStatusReasons(StatusReason&& value) { m_statusReasonsHasBeenSet = true; m_statusReasons.push_back(std::move(value)); return *this; } private: ComplianceStatus m_status; bool m_statusHasBeenSet; Aws::Vector m_relatedRequirements; bool m_relatedRequirementsHasBeenSet; Aws::Vector m_statusReasons; bool m_statusReasonsHasBeenSet; }; } // namespace Model } // namespace SecurityHub } // namespace Aws