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

Information about a resource data sync configuration, including its current * status and last successful sync.

See Also:

AWS * API Reference

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

The name of the resource data sync.

*/ inline const Aws::String& GetSyncName() const{ return m_syncName; } /** *

The name of the resource data sync.

*/ inline bool SyncNameHasBeenSet() const { return m_syncNameHasBeenSet; } /** *

The name of the resource data sync.

*/ inline void SetSyncName(const Aws::String& value) { m_syncNameHasBeenSet = true; m_syncName = value; } /** *

The name of the resource data sync.

*/ inline void SetSyncName(Aws::String&& value) { m_syncNameHasBeenSet = true; m_syncName = std::move(value); } /** *

The name of the resource data sync.

*/ inline void SetSyncName(const char* value) { m_syncNameHasBeenSet = true; m_syncName.assign(value); } /** *

The name of the resource data sync.

*/ inline ResourceDataSyncItem& WithSyncName(const Aws::String& value) { SetSyncName(value); return *this;} /** *

The name of the resource data sync.

*/ inline ResourceDataSyncItem& WithSyncName(Aws::String&& value) { SetSyncName(std::move(value)); return *this;} /** *

The name of the resource data sync.

*/ inline ResourceDataSyncItem& WithSyncName(const char* value) { SetSyncName(value); return *this;} /** *

The type of resource data sync. If SyncType is * SyncToDestination, then the resource data sync synchronizes data to * an S3 bucket. If the SyncType is SyncFromSource then * the resource data sync synchronizes data from Organizations or from multiple * Amazon Web Services Regions.

*/ inline const Aws::String& GetSyncType() const{ return m_syncType; } /** *

The type of resource data sync. If SyncType is * SyncToDestination, then the resource data sync synchronizes data to * an S3 bucket. If the SyncType is SyncFromSource then * the resource data sync synchronizes data from Organizations or from multiple * Amazon Web Services Regions.

*/ inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } /** *

The type of resource data sync. If SyncType is * SyncToDestination, then the resource data sync synchronizes data to * an S3 bucket. If the SyncType is SyncFromSource then * the resource data sync synchronizes data from Organizations or from multiple * Amazon Web Services Regions.

*/ inline void SetSyncType(const Aws::String& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } /** *

The type of resource data sync. If SyncType is * SyncToDestination, then the resource data sync synchronizes data to * an S3 bucket. If the SyncType is SyncFromSource then * the resource data sync synchronizes data from Organizations or from multiple * Amazon Web Services Regions.

*/ inline void SetSyncType(Aws::String&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } /** *

The type of resource data sync. If SyncType is * SyncToDestination, then the resource data sync synchronizes data to * an S3 bucket. If the SyncType is SyncFromSource then * the resource data sync synchronizes data from Organizations or from multiple * Amazon Web Services Regions.

*/ inline void SetSyncType(const char* value) { m_syncTypeHasBeenSet = true; m_syncType.assign(value); } /** *

The type of resource data sync. If SyncType is * SyncToDestination, then the resource data sync synchronizes data to * an S3 bucket. If the SyncType is SyncFromSource then * the resource data sync synchronizes data from Organizations or from multiple * Amazon Web Services Regions.

*/ inline ResourceDataSyncItem& WithSyncType(const Aws::String& value) { SetSyncType(value); return *this;} /** *

The type of resource data sync. If SyncType is * SyncToDestination, then the resource data sync synchronizes data to * an S3 bucket. If the SyncType is SyncFromSource then * the resource data sync synchronizes data from Organizations or from multiple * Amazon Web Services Regions.

*/ inline ResourceDataSyncItem& WithSyncType(Aws::String&& value) { SetSyncType(std::move(value)); return *this;} /** *

The type of resource data sync. If SyncType is * SyncToDestination, then the resource data sync synchronizes data to * an S3 bucket. If the SyncType is SyncFromSource then * the resource data sync synchronizes data from Organizations or from multiple * Amazon Web Services Regions.

*/ inline ResourceDataSyncItem& WithSyncType(const char* value) { SetSyncType(value); return *this;} /** *

Information about the source where the data was synchronized.

*/ inline const ResourceDataSyncSourceWithState& GetSyncSource() const{ return m_syncSource; } /** *

Information about the source where the data was synchronized.

*/ inline bool SyncSourceHasBeenSet() const { return m_syncSourceHasBeenSet; } /** *

Information about the source where the data was synchronized.

*/ inline void SetSyncSource(const ResourceDataSyncSourceWithState& value) { m_syncSourceHasBeenSet = true; m_syncSource = value; } /** *

Information about the source where the data was synchronized.

*/ inline void SetSyncSource(ResourceDataSyncSourceWithState&& value) { m_syncSourceHasBeenSet = true; m_syncSource = std::move(value); } /** *

Information about the source where the data was synchronized.

*/ inline ResourceDataSyncItem& WithSyncSource(const ResourceDataSyncSourceWithState& value) { SetSyncSource(value); return *this;} /** *

Information about the source where the data was synchronized.

*/ inline ResourceDataSyncItem& WithSyncSource(ResourceDataSyncSourceWithState&& value) { SetSyncSource(std::move(value)); return *this;} /** *

Configuration information for the target S3 bucket.

*/ inline const ResourceDataSyncS3Destination& GetS3Destination() const{ return m_s3Destination; } /** *

Configuration information for the target S3 bucket.

*/ inline bool S3DestinationHasBeenSet() const { return m_s3DestinationHasBeenSet; } /** *

Configuration information for the target S3 bucket.

*/ inline void SetS3Destination(const ResourceDataSyncS3Destination& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = value; } /** *

Configuration information for the target S3 bucket.

*/ inline void SetS3Destination(ResourceDataSyncS3Destination&& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = std::move(value); } /** *

Configuration information for the target S3 bucket.

*/ inline ResourceDataSyncItem& WithS3Destination(const ResourceDataSyncS3Destination& value) { SetS3Destination(value); return *this;} /** *

Configuration information for the target S3 bucket.

*/ inline ResourceDataSyncItem& WithS3Destination(ResourceDataSyncS3Destination&& value) { SetS3Destination(std::move(value)); return *this;} /** *

The last time the configuration attempted to sync (UTC).

*/ inline const Aws::Utils::DateTime& GetLastSyncTime() const{ return m_lastSyncTime; } /** *

The last time the configuration attempted to sync (UTC).

*/ inline bool LastSyncTimeHasBeenSet() const { return m_lastSyncTimeHasBeenSet; } /** *

The last time the configuration attempted to sync (UTC).

*/ inline void SetLastSyncTime(const Aws::Utils::DateTime& value) { m_lastSyncTimeHasBeenSet = true; m_lastSyncTime = value; } /** *

The last time the configuration attempted to sync (UTC).

*/ inline void SetLastSyncTime(Aws::Utils::DateTime&& value) { m_lastSyncTimeHasBeenSet = true; m_lastSyncTime = std::move(value); } /** *

The last time the configuration attempted to sync (UTC).

*/ inline ResourceDataSyncItem& WithLastSyncTime(const Aws::Utils::DateTime& value) { SetLastSyncTime(value); return *this;} /** *

The last time the configuration attempted to sync (UTC).

*/ inline ResourceDataSyncItem& WithLastSyncTime(Aws::Utils::DateTime&& value) { SetLastSyncTime(std::move(value)); return *this;} /** *

The last time the sync operations returned a status of * SUCCESSFUL (UTC).

*/ inline const Aws::Utils::DateTime& GetLastSuccessfulSyncTime() const{ return m_lastSuccessfulSyncTime; } /** *

The last time the sync operations returned a status of * SUCCESSFUL (UTC).

*/ inline bool LastSuccessfulSyncTimeHasBeenSet() const { return m_lastSuccessfulSyncTimeHasBeenSet; } /** *

The last time the sync operations returned a status of * SUCCESSFUL (UTC).

*/ inline void SetLastSuccessfulSyncTime(const Aws::Utils::DateTime& value) { m_lastSuccessfulSyncTimeHasBeenSet = true; m_lastSuccessfulSyncTime = value; } /** *

The last time the sync operations returned a status of * SUCCESSFUL (UTC).

*/ inline void SetLastSuccessfulSyncTime(Aws::Utils::DateTime&& value) { m_lastSuccessfulSyncTimeHasBeenSet = true; m_lastSuccessfulSyncTime = std::move(value); } /** *

The last time the sync operations returned a status of * SUCCESSFUL (UTC).

*/ inline ResourceDataSyncItem& WithLastSuccessfulSyncTime(const Aws::Utils::DateTime& value) { SetLastSuccessfulSyncTime(value); return *this;} /** *

The last time the sync operations returned a status of * SUCCESSFUL (UTC).

*/ inline ResourceDataSyncItem& WithLastSuccessfulSyncTime(Aws::Utils::DateTime&& value) { SetLastSuccessfulSyncTime(std::move(value)); return *this;} /** *

The date and time the resource data sync was changed.

*/ inline const Aws::Utils::DateTime& GetSyncLastModifiedTime() const{ return m_syncLastModifiedTime; } /** *

The date and time the resource data sync was changed.

*/ inline bool SyncLastModifiedTimeHasBeenSet() const { return m_syncLastModifiedTimeHasBeenSet; } /** *

The date and time the resource data sync was changed.

*/ inline void SetSyncLastModifiedTime(const Aws::Utils::DateTime& value) { m_syncLastModifiedTimeHasBeenSet = true; m_syncLastModifiedTime = value; } /** *

The date and time the resource data sync was changed.

*/ inline void SetSyncLastModifiedTime(Aws::Utils::DateTime&& value) { m_syncLastModifiedTimeHasBeenSet = true; m_syncLastModifiedTime = std::move(value); } /** *

The date and time the resource data sync was changed.

*/ inline ResourceDataSyncItem& WithSyncLastModifiedTime(const Aws::Utils::DateTime& value) { SetSyncLastModifiedTime(value); return *this;} /** *

The date and time the resource data sync was changed.

*/ inline ResourceDataSyncItem& WithSyncLastModifiedTime(Aws::Utils::DateTime&& value) { SetSyncLastModifiedTime(std::move(value)); return *this;} /** *

The status reported by the last sync.

*/ inline const LastResourceDataSyncStatus& GetLastStatus() const{ return m_lastStatus; } /** *

The status reported by the last sync.

*/ inline bool LastStatusHasBeenSet() const { return m_lastStatusHasBeenSet; } /** *

The status reported by the last sync.

*/ inline void SetLastStatus(const LastResourceDataSyncStatus& value) { m_lastStatusHasBeenSet = true; m_lastStatus = value; } /** *

The status reported by the last sync.

*/ inline void SetLastStatus(LastResourceDataSyncStatus&& value) { m_lastStatusHasBeenSet = true; m_lastStatus = std::move(value); } /** *

The status reported by the last sync.

*/ inline ResourceDataSyncItem& WithLastStatus(const LastResourceDataSyncStatus& value) { SetLastStatus(value); return *this;} /** *

The status reported by the last sync.

*/ inline ResourceDataSyncItem& WithLastStatus(LastResourceDataSyncStatus&& value) { SetLastStatus(std::move(value)); return *this;} /** *

The date and time the configuration was created (UTC).

*/ inline const Aws::Utils::DateTime& GetSyncCreatedTime() const{ return m_syncCreatedTime; } /** *

The date and time the configuration was created (UTC).

*/ inline bool SyncCreatedTimeHasBeenSet() const { return m_syncCreatedTimeHasBeenSet; } /** *

The date and time the configuration was created (UTC).

*/ inline void SetSyncCreatedTime(const Aws::Utils::DateTime& value) { m_syncCreatedTimeHasBeenSet = true; m_syncCreatedTime = value; } /** *

The date and time the configuration was created (UTC).

*/ inline void SetSyncCreatedTime(Aws::Utils::DateTime&& value) { m_syncCreatedTimeHasBeenSet = true; m_syncCreatedTime = std::move(value); } /** *

The date and time the configuration was created (UTC).

*/ inline ResourceDataSyncItem& WithSyncCreatedTime(const Aws::Utils::DateTime& value) { SetSyncCreatedTime(value); return *this;} /** *

The date and time the configuration was created (UTC).

*/ inline ResourceDataSyncItem& WithSyncCreatedTime(Aws::Utils::DateTime&& value) { SetSyncCreatedTime(std::move(value)); return *this;} /** *

The status message details reported by the last sync.

*/ inline const Aws::String& GetLastSyncStatusMessage() const{ return m_lastSyncStatusMessage; } /** *

The status message details reported by the last sync.

*/ inline bool LastSyncStatusMessageHasBeenSet() const { return m_lastSyncStatusMessageHasBeenSet; } /** *

The status message details reported by the last sync.

*/ inline void SetLastSyncStatusMessage(const Aws::String& value) { m_lastSyncStatusMessageHasBeenSet = true; m_lastSyncStatusMessage = value; } /** *

The status message details reported by the last sync.

*/ inline void SetLastSyncStatusMessage(Aws::String&& value) { m_lastSyncStatusMessageHasBeenSet = true; m_lastSyncStatusMessage = std::move(value); } /** *

The status message details reported by the last sync.

*/ inline void SetLastSyncStatusMessage(const char* value) { m_lastSyncStatusMessageHasBeenSet = true; m_lastSyncStatusMessage.assign(value); } /** *

The status message details reported by the last sync.

*/ inline ResourceDataSyncItem& WithLastSyncStatusMessage(const Aws::String& value) { SetLastSyncStatusMessage(value); return *this;} /** *

The status message details reported by the last sync.

*/ inline ResourceDataSyncItem& WithLastSyncStatusMessage(Aws::String&& value) { SetLastSyncStatusMessage(std::move(value)); return *this;} /** *

The status message details reported by the last sync.

*/ inline ResourceDataSyncItem& WithLastSyncStatusMessage(const char* value) { SetLastSyncStatusMessage(value); return *this;} private: Aws::String m_syncName; bool m_syncNameHasBeenSet = false; Aws::String m_syncType; bool m_syncTypeHasBeenSet = false; ResourceDataSyncSourceWithState m_syncSource; bool m_syncSourceHasBeenSet = false; ResourceDataSyncS3Destination m_s3Destination; bool m_s3DestinationHasBeenSet = false; Aws::Utils::DateTime m_lastSyncTime; bool m_lastSyncTimeHasBeenSet = false; Aws::Utils::DateTime m_lastSuccessfulSyncTime; bool m_lastSuccessfulSyncTimeHasBeenSet = false; Aws::Utils::DateTime m_syncLastModifiedTime; bool m_syncLastModifiedTimeHasBeenSet = false; LastResourceDataSyncStatus m_lastStatus; bool m_lastStatusHasBeenSet = false; Aws::Utils::DateTime m_syncCreatedTime; bool m_syncCreatedTimeHasBeenSet = false; Aws::String m_lastSyncStatusMessage; bool m_lastSyncStatusMessageHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws