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

The replication details of the data replication-enabled broker. Only returned * if dataReplicationMode or pendingDataReplicationMode is set to * CRDR.

See Also:

AWS * API Reference

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

Describes the replica/primary broker. Only returned if this broker is * currently set as a primary or replica in the broker's dataReplicationRole * property.

*/ inline const DataReplicationCounterpart& GetDataReplicationCounterpart() const{ return m_dataReplicationCounterpart; } /** *

Describes the replica/primary broker. Only returned if this broker is * currently set as a primary or replica in the broker's dataReplicationRole * property.

*/ inline bool DataReplicationCounterpartHasBeenSet() const { return m_dataReplicationCounterpartHasBeenSet; } /** *

Describes the replica/primary broker. Only returned if this broker is * currently set as a primary or replica in the broker's dataReplicationRole * property.

*/ inline void SetDataReplicationCounterpart(const DataReplicationCounterpart& value) { m_dataReplicationCounterpartHasBeenSet = true; m_dataReplicationCounterpart = value; } /** *

Describes the replica/primary broker. Only returned if this broker is * currently set as a primary or replica in the broker's dataReplicationRole * property.

*/ inline void SetDataReplicationCounterpart(DataReplicationCounterpart&& value) { m_dataReplicationCounterpartHasBeenSet = true; m_dataReplicationCounterpart = std::move(value); } /** *

Describes the replica/primary broker. Only returned if this broker is * currently set as a primary or replica in the broker's dataReplicationRole * property.

*/ inline DataReplicationMetadataOutput& WithDataReplicationCounterpart(const DataReplicationCounterpart& value) { SetDataReplicationCounterpart(value); return *this;} /** *

Describes the replica/primary broker. Only returned if this broker is * currently set as a primary or replica in the broker's dataReplicationRole * property.

*/ inline DataReplicationMetadataOutput& WithDataReplicationCounterpart(DataReplicationCounterpart&& value) { SetDataReplicationCounterpart(std::move(value)); return *this;} /** *

Defines the role of this broker in a data replication pair. When a replica * broker is promoted to primary, this role is interchanged.

*/ inline const Aws::String& GetDataReplicationRole() const{ return m_dataReplicationRole; } /** *

Defines the role of this broker in a data replication pair. When a replica * broker is promoted to primary, this role is interchanged.

*/ inline bool DataReplicationRoleHasBeenSet() const { return m_dataReplicationRoleHasBeenSet; } /** *

Defines the role of this broker in a data replication pair. When a replica * broker is promoted to primary, this role is interchanged.

*/ inline void SetDataReplicationRole(const Aws::String& value) { m_dataReplicationRoleHasBeenSet = true; m_dataReplicationRole = value; } /** *

Defines the role of this broker in a data replication pair. When a replica * broker is promoted to primary, this role is interchanged.

*/ inline void SetDataReplicationRole(Aws::String&& value) { m_dataReplicationRoleHasBeenSet = true; m_dataReplicationRole = std::move(value); } /** *

Defines the role of this broker in a data replication pair. When a replica * broker is promoted to primary, this role is interchanged.

*/ inline void SetDataReplicationRole(const char* value) { m_dataReplicationRoleHasBeenSet = true; m_dataReplicationRole.assign(value); } /** *

Defines the role of this broker in a data replication pair. When a replica * broker is promoted to primary, this role is interchanged.

*/ inline DataReplicationMetadataOutput& WithDataReplicationRole(const Aws::String& value) { SetDataReplicationRole(value); return *this;} /** *

Defines the role of this broker in a data replication pair. When a replica * broker is promoted to primary, this role is interchanged.

*/ inline DataReplicationMetadataOutput& WithDataReplicationRole(Aws::String&& value) { SetDataReplicationRole(std::move(value)); return *this;} /** *

Defines the role of this broker in a data replication pair. When a replica * broker is promoted to primary, this role is interchanged.

*/ inline DataReplicationMetadataOutput& WithDataReplicationRole(const char* value) { SetDataReplicationRole(value); return *this;} private: DataReplicationCounterpart m_dataReplicationCounterpart; bool m_dataReplicationCounterpartHasBeenSet = false; Aws::String m_dataReplicationRole; bool m_dataReplicationRoleHasBeenSet = false; }; } // namespace Model } // namespace MQ } // namespace Aws