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

Defines the compliance against the resiliency policy for a * disruption.

See Also:

AWS * API Reference

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

The Recovery Point Objective (RPO) that is achievable, in seconds.

*/ inline int GetAchievableRpoInSecs() const{ return m_achievableRpoInSecs; } /** *

The Recovery Point Objective (RPO) that is achievable, in seconds.

*/ inline bool AchievableRpoInSecsHasBeenSet() const { return m_achievableRpoInSecsHasBeenSet; } /** *

The Recovery Point Objective (RPO) that is achievable, in seconds.

*/ inline void SetAchievableRpoInSecs(int value) { m_achievableRpoInSecsHasBeenSet = true; m_achievableRpoInSecs = value; } /** *

The Recovery Point Objective (RPO) that is achievable, in seconds.

*/ inline DisruptionCompliance& WithAchievableRpoInSecs(int value) { SetAchievableRpoInSecs(value); return *this;} /** *

The Recovery Time Objective (RTO) that is achievable, in seconds

*/ inline int GetAchievableRtoInSecs() const{ return m_achievableRtoInSecs; } /** *

The Recovery Time Objective (RTO) that is achievable, in seconds

*/ inline bool AchievableRtoInSecsHasBeenSet() const { return m_achievableRtoInSecsHasBeenSet; } /** *

The Recovery Time Objective (RTO) that is achievable, in seconds

*/ inline void SetAchievableRtoInSecs(int value) { m_achievableRtoInSecsHasBeenSet = true; m_achievableRtoInSecs = value; } /** *

The Recovery Time Objective (RTO) that is achievable, in seconds

*/ inline DisruptionCompliance& WithAchievableRtoInSecs(int value) { SetAchievableRtoInSecs(value); return *this;} /** *

The current status of compliance for the resiliency policy.

*/ inline const ComplianceStatus& GetComplianceStatus() const{ return m_complianceStatus; } /** *

The current status of compliance for the resiliency policy.

*/ inline bool ComplianceStatusHasBeenSet() const { return m_complianceStatusHasBeenSet; } /** *

The current status of compliance for the resiliency policy.

*/ inline void SetComplianceStatus(const ComplianceStatus& value) { m_complianceStatusHasBeenSet = true; m_complianceStatus = value; } /** *

The current status of compliance for the resiliency policy.

*/ inline void SetComplianceStatus(ComplianceStatus&& value) { m_complianceStatusHasBeenSet = true; m_complianceStatus = std::move(value); } /** *

The current status of compliance for the resiliency policy.

*/ inline DisruptionCompliance& WithComplianceStatus(const ComplianceStatus& value) { SetComplianceStatus(value); return *this;} /** *

The current status of compliance for the resiliency policy.

*/ inline DisruptionCompliance& WithComplianceStatus(ComplianceStatus&& value) { SetComplianceStatus(std::move(value)); return *this;} /** *

The current RPO, in seconds.

*/ inline int GetCurrentRpoInSecs() const{ return m_currentRpoInSecs; } /** *

The current RPO, in seconds.

*/ inline bool CurrentRpoInSecsHasBeenSet() const { return m_currentRpoInSecsHasBeenSet; } /** *

The current RPO, in seconds.

*/ inline void SetCurrentRpoInSecs(int value) { m_currentRpoInSecsHasBeenSet = true; m_currentRpoInSecs = value; } /** *

The current RPO, in seconds.

*/ inline DisruptionCompliance& WithCurrentRpoInSecs(int value) { SetCurrentRpoInSecs(value); return *this;} /** *

The current RTO, in seconds.

*/ inline int GetCurrentRtoInSecs() const{ return m_currentRtoInSecs; } /** *

The current RTO, in seconds.

*/ inline bool CurrentRtoInSecsHasBeenSet() const { return m_currentRtoInSecsHasBeenSet; } /** *

The current RTO, in seconds.

*/ inline void SetCurrentRtoInSecs(int value) { m_currentRtoInSecsHasBeenSet = true; m_currentRtoInSecs = value; } /** *

The current RTO, in seconds.

*/ inline DisruptionCompliance& WithCurrentRtoInSecs(int value) { SetCurrentRtoInSecs(value); return *this;} /** *

The disruption compliance message.

*/ inline const Aws::String& GetMessage() const{ return m_message; } /** *

The disruption compliance message.

*/ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

The disruption compliance message.

*/ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } /** *

The disruption compliance message.

*/ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } /** *

The disruption compliance message.

*/ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } /** *

The disruption compliance message.

*/ inline DisruptionCompliance& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} /** *

The disruption compliance message.

*/ inline DisruptionCompliance& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} /** *

The disruption compliance message.

*/ inline DisruptionCompliance& WithMessage(const char* value) { SetMessage(value); return *this;} /** *

The RPO description.

*/ inline const Aws::String& GetRpoDescription() const{ return m_rpoDescription; } /** *

The RPO description.

*/ inline bool RpoDescriptionHasBeenSet() const { return m_rpoDescriptionHasBeenSet; } /** *

The RPO description.

*/ inline void SetRpoDescription(const Aws::String& value) { m_rpoDescriptionHasBeenSet = true; m_rpoDescription = value; } /** *

The RPO description.

*/ inline void SetRpoDescription(Aws::String&& value) { m_rpoDescriptionHasBeenSet = true; m_rpoDescription = std::move(value); } /** *

The RPO description.

*/ inline void SetRpoDescription(const char* value) { m_rpoDescriptionHasBeenSet = true; m_rpoDescription.assign(value); } /** *

The RPO description.

*/ inline DisruptionCompliance& WithRpoDescription(const Aws::String& value) { SetRpoDescription(value); return *this;} /** *

The RPO description.

*/ inline DisruptionCompliance& WithRpoDescription(Aws::String&& value) { SetRpoDescription(std::move(value)); return *this;} /** *

The RPO description.

*/ inline DisruptionCompliance& WithRpoDescription(const char* value) { SetRpoDescription(value); return *this;} /** *

The RPO reference identifier.

*/ inline const Aws::String& GetRpoReferenceId() const{ return m_rpoReferenceId; } /** *

The RPO reference identifier.

*/ inline bool RpoReferenceIdHasBeenSet() const { return m_rpoReferenceIdHasBeenSet; } /** *

The RPO reference identifier.

*/ inline void SetRpoReferenceId(const Aws::String& value) { m_rpoReferenceIdHasBeenSet = true; m_rpoReferenceId = value; } /** *

The RPO reference identifier.

*/ inline void SetRpoReferenceId(Aws::String&& value) { m_rpoReferenceIdHasBeenSet = true; m_rpoReferenceId = std::move(value); } /** *

The RPO reference identifier.

*/ inline void SetRpoReferenceId(const char* value) { m_rpoReferenceIdHasBeenSet = true; m_rpoReferenceId.assign(value); } /** *

The RPO reference identifier.

*/ inline DisruptionCompliance& WithRpoReferenceId(const Aws::String& value) { SetRpoReferenceId(value); return *this;} /** *

The RPO reference identifier.

*/ inline DisruptionCompliance& WithRpoReferenceId(Aws::String&& value) { SetRpoReferenceId(std::move(value)); return *this;} /** *

The RPO reference identifier.

*/ inline DisruptionCompliance& WithRpoReferenceId(const char* value) { SetRpoReferenceId(value); return *this;} /** *

The RTO description.

*/ inline const Aws::String& GetRtoDescription() const{ return m_rtoDescription; } /** *

The RTO description.

*/ inline bool RtoDescriptionHasBeenSet() const { return m_rtoDescriptionHasBeenSet; } /** *

The RTO description.

*/ inline void SetRtoDescription(const Aws::String& value) { m_rtoDescriptionHasBeenSet = true; m_rtoDescription = value; } /** *

The RTO description.

*/ inline void SetRtoDescription(Aws::String&& value) { m_rtoDescriptionHasBeenSet = true; m_rtoDescription = std::move(value); } /** *

The RTO description.

*/ inline void SetRtoDescription(const char* value) { m_rtoDescriptionHasBeenSet = true; m_rtoDescription.assign(value); } /** *

The RTO description.

*/ inline DisruptionCompliance& WithRtoDescription(const Aws::String& value) { SetRtoDescription(value); return *this;} /** *

The RTO description.

*/ inline DisruptionCompliance& WithRtoDescription(Aws::String&& value) { SetRtoDescription(std::move(value)); return *this;} /** *

The RTO description.

*/ inline DisruptionCompliance& WithRtoDescription(const char* value) { SetRtoDescription(value); return *this;} /** *

The RTO reference identifier.

*/ inline const Aws::String& GetRtoReferenceId() const{ return m_rtoReferenceId; } /** *

The RTO reference identifier.

*/ inline bool RtoReferenceIdHasBeenSet() const { return m_rtoReferenceIdHasBeenSet; } /** *

The RTO reference identifier.

*/ inline void SetRtoReferenceId(const Aws::String& value) { m_rtoReferenceIdHasBeenSet = true; m_rtoReferenceId = value; } /** *

The RTO reference identifier.

*/ inline void SetRtoReferenceId(Aws::String&& value) { m_rtoReferenceIdHasBeenSet = true; m_rtoReferenceId = std::move(value); } /** *

The RTO reference identifier.

*/ inline void SetRtoReferenceId(const char* value) { m_rtoReferenceIdHasBeenSet = true; m_rtoReferenceId.assign(value); } /** *

The RTO reference identifier.

*/ inline DisruptionCompliance& WithRtoReferenceId(const Aws::String& value) { SetRtoReferenceId(value); return *this;} /** *

The RTO reference identifier.

*/ inline DisruptionCompliance& WithRtoReferenceId(Aws::String&& value) { SetRtoReferenceId(std::move(value)); return *this;} /** *

The RTO reference identifier.

*/ inline DisruptionCompliance& WithRtoReferenceId(const char* value) { SetRtoReferenceId(value); return *this;} private: int m_achievableRpoInSecs; bool m_achievableRpoInSecsHasBeenSet = false; int m_achievableRtoInSecs; bool m_achievableRtoInSecsHasBeenSet = false; ComplianceStatus m_complianceStatus; bool m_complianceStatusHasBeenSet = false; int m_currentRpoInSecs; bool m_currentRpoInSecsHasBeenSet = false; int m_currentRtoInSecs; bool m_currentRtoInSecsHasBeenSet = false; Aws::String m_message; bool m_messageHasBeenSet = false; Aws::String m_rpoDescription; bool m_rpoDescriptionHasBeenSet = false; Aws::String m_rpoReferenceId; bool m_rpoReferenceIdHasBeenSet = false; Aws::String m_rtoDescription; bool m_rtoDescriptionHasBeenSet = false; Aws::String m_rtoReferenceId; bool m_rtoReferenceIdHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws