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

Detail data for a resource sync event.

See Also:

AWS * API Reference

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

A resource sync event.

*/ inline const Aws::String& GetEvent() const{ return m_event; } /** *

A resource sync event.

*/ inline bool EventHasBeenSet() const { return m_eventHasBeenSet; } /** *

A resource sync event.

*/ inline void SetEvent(const Aws::String& value) { m_eventHasBeenSet = true; m_event = value; } /** *

A resource sync event.

*/ inline void SetEvent(Aws::String&& value) { m_eventHasBeenSet = true; m_event = std::move(value); } /** *

A resource sync event.

*/ inline void SetEvent(const char* value) { m_eventHasBeenSet = true; m_event.assign(value); } /** *

A resource sync event.

*/ inline ResourceSyncEvent& WithEvent(const Aws::String& value) { SetEvent(value); return *this;} /** *

A resource sync event.

*/ inline ResourceSyncEvent& WithEvent(Aws::String&& value) { SetEvent(std::move(value)); return *this;} /** *

A resource sync event.

*/ inline ResourceSyncEvent& WithEvent(const char* value) { SetEvent(value); return *this;} /** *

The external ID for the event.

*/ inline const Aws::String& GetExternalId() const{ return m_externalId; } /** *

The external ID for the event.

*/ inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; } /** *

The external ID for the event.

*/ inline void SetExternalId(const Aws::String& value) { m_externalIdHasBeenSet = true; m_externalId = value; } /** *

The external ID for the event.

*/ inline void SetExternalId(Aws::String&& value) { m_externalIdHasBeenSet = true; m_externalId = std::move(value); } /** *

The external ID for the event.

*/ inline void SetExternalId(const char* value) { m_externalIdHasBeenSet = true; m_externalId.assign(value); } /** *

The external ID for the event.

*/ inline ResourceSyncEvent& WithExternalId(const Aws::String& value) { SetExternalId(value); return *this;} /** *

The external ID for the event.

*/ inline ResourceSyncEvent& WithExternalId(Aws::String&& value) { SetExternalId(std::move(value)); return *this;} /** *

The external ID for the event.

*/ inline ResourceSyncEvent& WithExternalId(const char* value) { SetExternalId(value); return *this;} /** *

The time when the event occurred.

*/ inline const Aws::Utils::DateTime& GetTime() const{ return m_time; } /** *

The time when the event occurred.

*/ inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } /** *

The time when the event occurred.

*/ inline void SetTime(const Aws::Utils::DateTime& value) { m_timeHasBeenSet = true; m_time = value; } /** *

The time when the event occurred.

*/ inline void SetTime(Aws::Utils::DateTime&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } /** *

The time when the event occurred.

*/ inline ResourceSyncEvent& WithTime(const Aws::Utils::DateTime& value) { SetTime(value); return *this;} /** *

The time when the event occurred.

*/ inline ResourceSyncEvent& WithTime(Aws::Utils::DateTime&& value) { SetTime(std::move(value)); return *this;} /** *

The type of event.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of event.

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

The type of event.

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

The type of event.

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

The type of event.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of event.

*/ inline ResourceSyncEvent& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of event.

*/ inline ResourceSyncEvent& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of event.

*/ inline ResourceSyncEvent& WithType(const char* value) { SetType(value); return *this;} private: Aws::String m_event; bool m_eventHasBeenSet = false; Aws::String m_externalId; bool m_externalIdHasBeenSet = false; Aws::Utils::DateTime m_time; bool m_timeHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace Proton } // namespace Aws