/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #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 of an Application Component against the resiliency * policy.

See Also:

AWS * API Reference

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

The name of the Application Component.

*/ inline const Aws::String& GetAppComponentName() const{ return m_appComponentName; } /** *

The name of the Application Component.

*/ inline bool AppComponentNameHasBeenSet() const { return m_appComponentNameHasBeenSet; } /** *

The name of the Application Component.

*/ inline void SetAppComponentName(const Aws::String& value) { m_appComponentNameHasBeenSet = true; m_appComponentName = value; } /** *

The name of the Application Component.

*/ inline void SetAppComponentName(Aws::String&& value) { m_appComponentNameHasBeenSet = true; m_appComponentName = std::move(value); } /** *

The name of the Application Component.

*/ inline void SetAppComponentName(const char* value) { m_appComponentNameHasBeenSet = true; m_appComponentName.assign(value); } /** *

The name of the Application Component.

*/ inline AppComponentCompliance& WithAppComponentName(const Aws::String& value) { SetAppComponentName(value); return *this;} /** *

The name of the Application Component.

*/ inline AppComponentCompliance& WithAppComponentName(Aws::String&& value) { SetAppComponentName(std::move(value)); return *this;} /** *

The name of the Application Component.

*/ inline AppComponentCompliance& WithAppComponentName(const char* value) { SetAppComponentName(value); return *this;} /** *

The compliance of the Application Component against the resiliency * policy.

*/ inline const Aws::Map& GetCompliance() const{ return m_compliance; } /** *

The compliance of the Application Component against the resiliency * policy.

*/ inline bool ComplianceHasBeenSet() const { return m_complianceHasBeenSet; } /** *

The compliance of the Application Component against the resiliency * policy.

*/ inline void SetCompliance(const Aws::Map& value) { m_complianceHasBeenSet = true; m_compliance = value; } /** *

The compliance of the Application Component against the resiliency * policy.

*/ inline void SetCompliance(Aws::Map&& value) { m_complianceHasBeenSet = true; m_compliance = std::move(value); } /** *

The compliance of the Application Component against the resiliency * policy.

*/ inline AppComponentCompliance& WithCompliance(const Aws::Map& value) { SetCompliance(value); return *this;} /** *

The compliance of the Application Component against the resiliency * policy.

*/ inline AppComponentCompliance& WithCompliance(Aws::Map&& value) { SetCompliance(std::move(value)); return *this;} /** *

The compliance of the Application Component against the resiliency * policy.

*/ inline AppComponentCompliance& AddCompliance(const DisruptionType& key, const DisruptionCompliance& value) { m_complianceHasBeenSet = true; m_compliance.emplace(key, value); return *this; } /** *

The compliance of the Application Component against the resiliency * policy.

*/ inline AppComponentCompliance& AddCompliance(DisruptionType&& key, const DisruptionCompliance& value) { m_complianceHasBeenSet = true; m_compliance.emplace(std::move(key), value); return *this; } /** *

The compliance of the Application Component against the resiliency * policy.

*/ inline AppComponentCompliance& AddCompliance(const DisruptionType& key, DisruptionCompliance&& value) { m_complianceHasBeenSet = true; m_compliance.emplace(key, std::move(value)); return *this; } /** *

The compliance of the Application Component against the resiliency * policy.

*/ inline AppComponentCompliance& AddCompliance(DisruptionType&& key, DisruptionCompliance&& value) { m_complianceHasBeenSet = true; m_compliance.emplace(std::move(key), std::move(value)); return *this; } /** *

The cost for the application.

*/ inline const Cost& GetCost() const{ return m_cost; } /** *

The cost for the application.

*/ inline bool CostHasBeenSet() const { return m_costHasBeenSet; } /** *

The cost for the application.

*/ inline void SetCost(const Cost& value) { m_costHasBeenSet = true; m_cost = value; } /** *

The cost for the application.

*/ inline void SetCost(Cost&& value) { m_costHasBeenSet = true; m_cost = std::move(value); } /** *

The cost for the application.

*/ inline AppComponentCompliance& WithCost(const Cost& value) { SetCost(value); return *this;} /** *

The cost for the application.

*/ inline AppComponentCompliance& WithCost(Cost&& value) { SetCost(std::move(value)); return *this;} /** *

The compliance message.

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

The compliance message.

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

The compliance message.

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

The compliance message.

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

The compliance message.

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

The compliance message.

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

The compliance message.

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

The compliance message.

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

The current resiliency score for the application.

*/ inline const ResiliencyScore& GetResiliencyScore() const{ return m_resiliencyScore; } /** *

The current resiliency score for the application.

*/ inline bool ResiliencyScoreHasBeenSet() const { return m_resiliencyScoreHasBeenSet; } /** *

The current resiliency score for the application.

*/ inline void SetResiliencyScore(const ResiliencyScore& value) { m_resiliencyScoreHasBeenSet = true; m_resiliencyScore = value; } /** *

The current resiliency score for the application.

*/ inline void SetResiliencyScore(ResiliencyScore&& value) { m_resiliencyScoreHasBeenSet = true; m_resiliencyScore = std::move(value); } /** *

The current resiliency score for the application.

*/ inline AppComponentCompliance& WithResiliencyScore(const ResiliencyScore& value) { SetResiliencyScore(value); return *this;} /** *

The current resiliency score for the application.

*/ inline AppComponentCompliance& WithResiliencyScore(ResiliencyScore&& value) { SetResiliencyScore(std::move(value)); return *this;} /** *

The status of the action.

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

The status of the action.

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

The status of the action.

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

The status of the action.

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

The status of the action.

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

The status of the action.

*/ inline AppComponentCompliance& WithStatus(ComplianceStatus&& value) { SetStatus(std::move(value)); return *this;} private: Aws::String m_appComponentName; bool m_appComponentNameHasBeenSet = false; Aws::Map m_compliance; bool m_complianceHasBeenSet = false; Cost m_cost; bool m_costHasBeenSet = false; Aws::String m_message; bool m_messageHasBeenSet = false; ResiliencyScore m_resiliencyScore; bool m_resiliencyScoreHasBeenSet = false; ComplianceStatus m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws