/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Proton { namespace Model { /** *

Detailed data of the sync blocker.

See Also:

AWS * API Reference

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

The contexts for the sync blocker.

*/ inline const Aws::Vector& GetContexts() const{ return m_contexts; } /** *

The contexts for the sync blocker.

*/ inline bool ContextsHasBeenSet() const { return m_contextsHasBeenSet; } /** *

The contexts for the sync blocker.

*/ inline void SetContexts(const Aws::Vector& value) { m_contextsHasBeenSet = true; m_contexts = value; } /** *

The contexts for the sync blocker.

*/ inline void SetContexts(Aws::Vector&& value) { m_contextsHasBeenSet = true; m_contexts = std::move(value); } /** *

The contexts for the sync blocker.

*/ inline SyncBlocker& WithContexts(const Aws::Vector& value) { SetContexts(value); return *this;} /** *

The contexts for the sync blocker.

*/ inline SyncBlocker& WithContexts(Aws::Vector&& value) { SetContexts(std::move(value)); return *this;} /** *

The contexts for the sync blocker.

*/ inline SyncBlocker& AddContexts(const SyncBlockerContext& value) { m_contextsHasBeenSet = true; m_contexts.push_back(value); return *this; } /** *

The contexts for the sync blocker.

*/ inline SyncBlocker& AddContexts(SyncBlockerContext&& value) { m_contextsHasBeenSet = true; m_contexts.push_back(std::move(value)); return *this; } /** *

The time when the sync blocker was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The time when the sync blocker was created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The time when the sync blocker was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The time when the sync blocker was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The time when the sync blocker was created.

*/ inline SyncBlocker& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The time when the sync blocker was created.

*/ inline SyncBlocker& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The reason why the sync blocker was created.

*/ inline const Aws::String& GetCreatedReason() const{ return m_createdReason; } /** *

The reason why the sync blocker was created.

*/ inline bool CreatedReasonHasBeenSet() const { return m_createdReasonHasBeenSet; } /** *

The reason why the sync blocker was created.

*/ inline void SetCreatedReason(const Aws::String& value) { m_createdReasonHasBeenSet = true; m_createdReason = value; } /** *

The reason why the sync blocker was created.

*/ inline void SetCreatedReason(Aws::String&& value) { m_createdReasonHasBeenSet = true; m_createdReason = std::move(value); } /** *

The reason why the sync blocker was created.

*/ inline void SetCreatedReason(const char* value) { m_createdReasonHasBeenSet = true; m_createdReason.assign(value); } /** *

The reason why the sync blocker was created.

*/ inline SyncBlocker& WithCreatedReason(const Aws::String& value) { SetCreatedReason(value); return *this;} /** *

The reason why the sync blocker was created.

*/ inline SyncBlocker& WithCreatedReason(Aws::String&& value) { SetCreatedReason(std::move(value)); return *this;} /** *

The reason why the sync blocker was created.

*/ inline SyncBlocker& WithCreatedReason(const char* value) { SetCreatedReason(value); return *this;} /** *

The ID of the sync blocker.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID of the sync blocker.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID of the sync blocker.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID of the sync blocker.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID of the sync blocker.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID of the sync blocker.

*/ inline SyncBlocker& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID of the sync blocker.

*/ inline SyncBlocker& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID of the sync blocker.

*/ inline SyncBlocker& WithId(const char* value) { SetId(value); return *this;} /** *

The time the sync blocker was resolved.

*/ inline const Aws::Utils::DateTime& GetResolvedAt() const{ return m_resolvedAt; } /** *

The time the sync blocker was resolved.

*/ inline bool ResolvedAtHasBeenSet() const { return m_resolvedAtHasBeenSet; } /** *

The time the sync blocker was resolved.

*/ inline void SetResolvedAt(const Aws::Utils::DateTime& value) { m_resolvedAtHasBeenSet = true; m_resolvedAt = value; } /** *

The time the sync blocker was resolved.

*/ inline void SetResolvedAt(Aws::Utils::DateTime&& value) { m_resolvedAtHasBeenSet = true; m_resolvedAt = std::move(value); } /** *

The time the sync blocker was resolved.

*/ inline SyncBlocker& WithResolvedAt(const Aws::Utils::DateTime& value) { SetResolvedAt(value); return *this;} /** *

The time the sync blocker was resolved.

*/ inline SyncBlocker& WithResolvedAt(Aws::Utils::DateTime&& value) { SetResolvedAt(std::move(value)); return *this;} /** *

The reason the sync blocker was resolved.

*/ inline const Aws::String& GetResolvedReason() const{ return m_resolvedReason; } /** *

The reason the sync blocker was resolved.

*/ inline bool ResolvedReasonHasBeenSet() const { return m_resolvedReasonHasBeenSet; } /** *

The reason the sync blocker was resolved.

*/ inline void SetResolvedReason(const Aws::String& value) { m_resolvedReasonHasBeenSet = true; m_resolvedReason = value; } /** *

The reason the sync blocker was resolved.

*/ inline void SetResolvedReason(Aws::String&& value) { m_resolvedReasonHasBeenSet = true; m_resolvedReason = std::move(value); } /** *

The reason the sync blocker was resolved.

*/ inline void SetResolvedReason(const char* value) { m_resolvedReasonHasBeenSet = true; m_resolvedReason.assign(value); } /** *

The reason the sync blocker was resolved.

*/ inline SyncBlocker& WithResolvedReason(const Aws::String& value) { SetResolvedReason(value); return *this;} /** *

The reason the sync blocker was resolved.

*/ inline SyncBlocker& WithResolvedReason(Aws::String&& value) { SetResolvedReason(std::move(value)); return *this;} /** *

The reason the sync blocker was resolved.

*/ inline SyncBlocker& WithResolvedReason(const char* value) { SetResolvedReason(value); return *this;} /** *

The status of the sync blocker.

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

The status of the sync blocker.

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

The status of the sync blocker.

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

The status of the sync blocker.

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

The status of the sync blocker.

*/ inline SyncBlocker& WithStatus(const BlockerStatus& value) { SetStatus(value); return *this;} /** *

The status of the sync blocker.

*/ inline SyncBlocker& WithStatus(BlockerStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The type of the sync blocker.

*/ inline const BlockerType& GetType() const{ return m_type; } /** *

The type of the sync blocker.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the sync blocker.

*/ inline void SetType(const BlockerType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the sync blocker.

*/ inline void SetType(BlockerType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the sync blocker.

*/ inline SyncBlocker& WithType(const BlockerType& value) { SetType(value); return *this;} /** *

The type of the sync blocker.

*/ inline SyncBlocker& WithType(BlockerType&& value) { SetType(std::move(value)); return *this;} private: Aws::Vector m_contexts; bool m_contextsHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::String m_createdReason; bool m_createdReasonHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::Utils::DateTime m_resolvedAt; bool m_resolvedAtHasBeenSet = false; Aws::String m_resolvedReason; bool m_resolvedReasonHasBeenSet = false; BlockerStatus m_status; bool m_statusHasBeenSet = false; BlockerType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace Proton } // namespace Aws