/** * 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 SsmSap { namespace Model { /** *

Details of the SAP HANA system replication for the instance.

See * Also:

AWS * API Reference

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

The tier of the component.

*/ inline const Aws::String& GetHsrTier() const{ return m_hsrTier; } /** *

The tier of the component.

*/ inline bool HsrTierHasBeenSet() const { return m_hsrTierHasBeenSet; } /** *

The tier of the component.

*/ inline void SetHsrTier(const Aws::String& value) { m_hsrTierHasBeenSet = true; m_hsrTier = value; } /** *

The tier of the component.

*/ inline void SetHsrTier(Aws::String&& value) { m_hsrTierHasBeenSet = true; m_hsrTier = std::move(value); } /** *

The tier of the component.

*/ inline void SetHsrTier(const char* value) { m_hsrTierHasBeenSet = true; m_hsrTier.assign(value); } /** *

The tier of the component.

*/ inline Resilience& WithHsrTier(const Aws::String& value) { SetHsrTier(value); return *this;} /** *

The tier of the component.

*/ inline Resilience& WithHsrTier(Aws::String&& value) { SetHsrTier(std::move(value)); return *this;} /** *

The tier of the component.

*/ inline Resilience& WithHsrTier(const char* value) { SetHsrTier(value); return *this;} /** *

The replication mode of the component.

*/ inline const ReplicationMode& GetHsrReplicationMode() const{ return m_hsrReplicationMode; } /** *

The replication mode of the component.

*/ inline bool HsrReplicationModeHasBeenSet() const { return m_hsrReplicationModeHasBeenSet; } /** *

The replication mode of the component.

*/ inline void SetHsrReplicationMode(const ReplicationMode& value) { m_hsrReplicationModeHasBeenSet = true; m_hsrReplicationMode = value; } /** *

The replication mode of the component.

*/ inline void SetHsrReplicationMode(ReplicationMode&& value) { m_hsrReplicationModeHasBeenSet = true; m_hsrReplicationMode = std::move(value); } /** *

The replication mode of the component.

*/ inline Resilience& WithHsrReplicationMode(const ReplicationMode& value) { SetHsrReplicationMode(value); return *this;} /** *

The replication mode of the component.

*/ inline Resilience& WithHsrReplicationMode(ReplicationMode&& value) { SetHsrReplicationMode(std::move(value)); return *this;} /** *

The operation mode of the component.

*/ inline const OperationMode& GetHsrOperationMode() const{ return m_hsrOperationMode; } /** *

The operation mode of the component.

*/ inline bool HsrOperationModeHasBeenSet() const { return m_hsrOperationModeHasBeenSet; } /** *

The operation mode of the component.

*/ inline void SetHsrOperationMode(const OperationMode& value) { m_hsrOperationModeHasBeenSet = true; m_hsrOperationMode = value; } /** *

The operation mode of the component.

*/ inline void SetHsrOperationMode(OperationMode&& value) { m_hsrOperationModeHasBeenSet = true; m_hsrOperationMode = std::move(value); } /** *

The operation mode of the component.

*/ inline Resilience& WithHsrOperationMode(const OperationMode& value) { SetHsrOperationMode(value); return *this;} /** *

The operation mode of the component.

*/ inline Resilience& WithHsrOperationMode(OperationMode&& value) { SetHsrOperationMode(std::move(value)); return *this;} /** *

The cluster status of the component.

*/ inline const ClusterStatus& GetClusterStatus() const{ return m_clusterStatus; } /** *

The cluster status of the component.

*/ inline bool ClusterStatusHasBeenSet() const { return m_clusterStatusHasBeenSet; } /** *

The cluster status of the component.

*/ inline void SetClusterStatus(const ClusterStatus& value) { m_clusterStatusHasBeenSet = true; m_clusterStatus = value; } /** *

The cluster status of the component.

*/ inline void SetClusterStatus(ClusterStatus&& value) { m_clusterStatusHasBeenSet = true; m_clusterStatus = std::move(value); } /** *

The cluster status of the component.

*/ inline Resilience& WithClusterStatus(const ClusterStatus& value) { SetClusterStatus(value); return *this;} /** *

The cluster status of the component.

*/ inline Resilience& WithClusterStatus(ClusterStatus&& value) { SetClusterStatus(std::move(value)); return *this;} private: Aws::String m_hsrTier; bool m_hsrTierHasBeenSet = false; ReplicationMode m_hsrReplicationMode; bool m_hsrReplicationModeHasBeenSet = false; OperationMode m_hsrOperationMode; bool m_hsrOperationModeHasBeenSet = false; ClusterStatus m_clusterStatus; bool m_clusterStatusHasBeenSet = false; }; } // namespace Model } // namespace SsmSap } // namespace Aws