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

Information about the approval status of a patch.

See Also:

* AWS * API Reference

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

The approval status of a patch.

*/ inline const PatchDeploymentStatus& GetDeploymentStatus() const{ return m_deploymentStatus; } /** *

The approval status of a patch.

*/ inline bool DeploymentStatusHasBeenSet() const { return m_deploymentStatusHasBeenSet; } /** *

The approval status of a patch.

*/ inline void SetDeploymentStatus(const PatchDeploymentStatus& value) { m_deploymentStatusHasBeenSet = true; m_deploymentStatus = value; } /** *

The approval status of a patch.

*/ inline void SetDeploymentStatus(PatchDeploymentStatus&& value) { m_deploymentStatusHasBeenSet = true; m_deploymentStatus = std::move(value); } /** *

The approval status of a patch.

*/ inline PatchStatus& WithDeploymentStatus(const PatchDeploymentStatus& value) { SetDeploymentStatus(value); return *this;} /** *

The approval status of a patch.

*/ inline PatchStatus& WithDeploymentStatus(PatchDeploymentStatus&& value) { SetDeploymentStatus(std::move(value)); return *this;} /** *

The compliance severity level for a patch.

*/ inline const PatchComplianceLevel& GetComplianceLevel() const{ return m_complianceLevel; } /** *

The compliance severity level for a patch.

*/ inline bool ComplianceLevelHasBeenSet() const { return m_complianceLevelHasBeenSet; } /** *

The compliance severity level for a patch.

*/ inline void SetComplianceLevel(const PatchComplianceLevel& value) { m_complianceLevelHasBeenSet = true; m_complianceLevel = value; } /** *

The compliance severity level for a patch.

*/ inline void SetComplianceLevel(PatchComplianceLevel&& value) { m_complianceLevelHasBeenSet = true; m_complianceLevel = std::move(value); } /** *

The compliance severity level for a patch.

*/ inline PatchStatus& WithComplianceLevel(const PatchComplianceLevel& value) { SetComplianceLevel(value); return *this;} /** *

The compliance severity level for a patch.

*/ inline PatchStatus& WithComplianceLevel(PatchComplianceLevel&& value) { SetComplianceLevel(std::move(value)); return *this;} /** *

The date the patch was approved (or will be approved if the status is * PENDING_APPROVAL).

*/ inline const Aws::Utils::DateTime& GetApprovalDate() const{ return m_approvalDate; } /** *

The date the patch was approved (or will be approved if the status is * PENDING_APPROVAL).

*/ inline bool ApprovalDateHasBeenSet() const { return m_approvalDateHasBeenSet; } /** *

The date the patch was approved (or will be approved if the status is * PENDING_APPROVAL).

*/ inline void SetApprovalDate(const Aws::Utils::DateTime& value) { m_approvalDateHasBeenSet = true; m_approvalDate = value; } /** *

The date the patch was approved (or will be approved if the status is * PENDING_APPROVAL).

*/ inline void SetApprovalDate(Aws::Utils::DateTime&& value) { m_approvalDateHasBeenSet = true; m_approvalDate = std::move(value); } /** *

The date the patch was approved (or will be approved if the status is * PENDING_APPROVAL).

*/ inline PatchStatus& WithApprovalDate(const Aws::Utils::DateTime& value) { SetApprovalDate(value); return *this;} /** *

The date the patch was approved (or will be approved if the status is * PENDING_APPROVAL).

*/ inline PatchStatus& WithApprovalDate(Aws::Utils::DateTime&& value) { SetApprovalDate(std::move(value)); return *this;} private: PatchDeploymentStatus m_deploymentStatus; bool m_deploymentStatusHasBeenSet = false; PatchComplianceLevel m_complianceLevel; bool m_complianceLevelHasBeenSet = false; Aws::Utils::DateTime m_approvalDate; bool m_approvalDateHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws