1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/ssm/SSM_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/ssm/model/ResourceDataSyncSourceWithState.h> 10 #include <aws/ssm/model/ResourceDataSyncS3Destination.h> 11 #include <aws/core/utils/DateTime.h> 12 #include <aws/ssm/model/LastResourceDataSyncStatus.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace SSM 26 { 27 namespace Model 28 { 29 30 /** 31 * <p>Information about a resource data sync configuration, including its current 32 * status and last successful sync.</p><p><h3>See Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResourceDataSyncItem">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_SSM_API ResourceDataSyncItem 37 { 38 public: 39 ResourceDataSyncItem(); 40 ResourceDataSyncItem(Aws::Utils::Json::JsonView jsonValue); 41 ResourceDataSyncItem& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>The name of the resource data sync.</p> 47 */ GetSyncName()48 inline const Aws::String& GetSyncName() const{ return m_syncName; } 49 50 /** 51 * <p>The name of the resource data sync.</p> 52 */ SyncNameHasBeenSet()53 inline bool SyncNameHasBeenSet() const { return m_syncNameHasBeenSet; } 54 55 /** 56 * <p>The name of the resource data sync.</p> 57 */ SetSyncName(const Aws::String & value)58 inline void SetSyncName(const Aws::String& value) { m_syncNameHasBeenSet = true; m_syncName = value; } 59 60 /** 61 * <p>The name of the resource data sync.</p> 62 */ SetSyncName(Aws::String && value)63 inline void SetSyncName(Aws::String&& value) { m_syncNameHasBeenSet = true; m_syncName = std::move(value); } 64 65 /** 66 * <p>The name of the resource data sync.</p> 67 */ SetSyncName(const char * value)68 inline void SetSyncName(const char* value) { m_syncNameHasBeenSet = true; m_syncName.assign(value); } 69 70 /** 71 * <p>The name of the resource data sync.</p> 72 */ WithSyncName(const Aws::String & value)73 inline ResourceDataSyncItem& WithSyncName(const Aws::String& value) { SetSyncName(value); return *this;} 74 75 /** 76 * <p>The name of the resource data sync.</p> 77 */ WithSyncName(Aws::String && value)78 inline ResourceDataSyncItem& WithSyncName(Aws::String&& value) { SetSyncName(std::move(value)); return *this;} 79 80 /** 81 * <p>The name of the resource data sync.</p> 82 */ WithSyncName(const char * value)83 inline ResourceDataSyncItem& WithSyncName(const char* value) { SetSyncName(value); return *this;} 84 85 86 /** 87 * <p>The type of resource data sync. If <code>SyncType</code> is 88 * <code>SyncToDestination</code>, then the resource data sync synchronizes data to 89 * an S3 bucket. If the <code>SyncType</code> is <code>SyncFromSource</code> then 90 * the resource data sync synchronizes data from Organizations or from multiple 91 * Amazon Web Services Regions.</p> 92 */ GetSyncType()93 inline const Aws::String& GetSyncType() const{ return m_syncType; } 94 95 /** 96 * <p>The type of resource data sync. If <code>SyncType</code> is 97 * <code>SyncToDestination</code>, then the resource data sync synchronizes data to 98 * an S3 bucket. If the <code>SyncType</code> is <code>SyncFromSource</code> then 99 * the resource data sync synchronizes data from Organizations or from multiple 100 * Amazon Web Services Regions.</p> 101 */ SyncTypeHasBeenSet()102 inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } 103 104 /** 105 * <p>The type of resource data sync. If <code>SyncType</code> is 106 * <code>SyncToDestination</code>, then the resource data sync synchronizes data to 107 * an S3 bucket. If the <code>SyncType</code> is <code>SyncFromSource</code> then 108 * the resource data sync synchronizes data from Organizations or from multiple 109 * Amazon Web Services Regions.</p> 110 */ SetSyncType(const Aws::String & value)111 inline void SetSyncType(const Aws::String& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } 112 113 /** 114 * <p>The type of resource data sync. If <code>SyncType</code> is 115 * <code>SyncToDestination</code>, then the resource data sync synchronizes data to 116 * an S3 bucket. If the <code>SyncType</code> is <code>SyncFromSource</code> then 117 * the resource data sync synchronizes data from Organizations or from multiple 118 * Amazon Web Services Regions.</p> 119 */ SetSyncType(Aws::String && value)120 inline void SetSyncType(Aws::String&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } 121 122 /** 123 * <p>The type of resource data sync. If <code>SyncType</code> is 124 * <code>SyncToDestination</code>, then the resource data sync synchronizes data to 125 * an S3 bucket. If the <code>SyncType</code> is <code>SyncFromSource</code> then 126 * the resource data sync synchronizes data from Organizations or from multiple 127 * Amazon Web Services Regions.</p> 128 */ SetSyncType(const char * value)129 inline void SetSyncType(const char* value) { m_syncTypeHasBeenSet = true; m_syncType.assign(value); } 130 131 /** 132 * <p>The type of resource data sync. If <code>SyncType</code> is 133 * <code>SyncToDestination</code>, then the resource data sync synchronizes data to 134 * an S3 bucket. If the <code>SyncType</code> is <code>SyncFromSource</code> then 135 * the resource data sync synchronizes data from Organizations or from multiple 136 * Amazon Web Services Regions.</p> 137 */ WithSyncType(const Aws::String & value)138 inline ResourceDataSyncItem& WithSyncType(const Aws::String& value) { SetSyncType(value); return *this;} 139 140 /** 141 * <p>The type of resource data sync. If <code>SyncType</code> is 142 * <code>SyncToDestination</code>, then the resource data sync synchronizes data to 143 * an S3 bucket. If the <code>SyncType</code> is <code>SyncFromSource</code> then 144 * the resource data sync synchronizes data from Organizations or from multiple 145 * Amazon Web Services Regions.</p> 146 */ WithSyncType(Aws::String && value)147 inline ResourceDataSyncItem& WithSyncType(Aws::String&& value) { SetSyncType(std::move(value)); return *this;} 148 149 /** 150 * <p>The type of resource data sync. If <code>SyncType</code> is 151 * <code>SyncToDestination</code>, then the resource data sync synchronizes data to 152 * an S3 bucket. If the <code>SyncType</code> is <code>SyncFromSource</code> then 153 * the resource data sync synchronizes data from Organizations or from multiple 154 * Amazon Web Services Regions.</p> 155 */ WithSyncType(const char * value)156 inline ResourceDataSyncItem& WithSyncType(const char* value) { SetSyncType(value); return *this;} 157 158 159 /** 160 * <p>Information about the source where the data was synchronized. </p> 161 */ GetSyncSource()162 inline const ResourceDataSyncSourceWithState& GetSyncSource() const{ return m_syncSource; } 163 164 /** 165 * <p>Information about the source where the data was synchronized. </p> 166 */ SyncSourceHasBeenSet()167 inline bool SyncSourceHasBeenSet() const { return m_syncSourceHasBeenSet; } 168 169 /** 170 * <p>Information about the source where the data was synchronized. </p> 171 */ SetSyncSource(const ResourceDataSyncSourceWithState & value)172 inline void SetSyncSource(const ResourceDataSyncSourceWithState& value) { m_syncSourceHasBeenSet = true; m_syncSource = value; } 173 174 /** 175 * <p>Information about the source where the data was synchronized. </p> 176 */ SetSyncSource(ResourceDataSyncSourceWithState && value)177 inline void SetSyncSource(ResourceDataSyncSourceWithState&& value) { m_syncSourceHasBeenSet = true; m_syncSource = std::move(value); } 178 179 /** 180 * <p>Information about the source where the data was synchronized. </p> 181 */ WithSyncSource(const ResourceDataSyncSourceWithState & value)182 inline ResourceDataSyncItem& WithSyncSource(const ResourceDataSyncSourceWithState& value) { SetSyncSource(value); return *this;} 183 184 /** 185 * <p>Information about the source where the data was synchronized. </p> 186 */ WithSyncSource(ResourceDataSyncSourceWithState && value)187 inline ResourceDataSyncItem& WithSyncSource(ResourceDataSyncSourceWithState&& value) { SetSyncSource(std::move(value)); return *this;} 188 189 190 /** 191 * <p>Configuration information for the target S3 bucket.</p> 192 */ GetS3Destination()193 inline const ResourceDataSyncS3Destination& GetS3Destination() const{ return m_s3Destination; } 194 195 /** 196 * <p>Configuration information for the target S3 bucket.</p> 197 */ S3DestinationHasBeenSet()198 inline bool S3DestinationHasBeenSet() const { return m_s3DestinationHasBeenSet; } 199 200 /** 201 * <p>Configuration information for the target S3 bucket.</p> 202 */ SetS3Destination(const ResourceDataSyncS3Destination & value)203 inline void SetS3Destination(const ResourceDataSyncS3Destination& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = value; } 204 205 /** 206 * <p>Configuration information for the target S3 bucket.</p> 207 */ SetS3Destination(ResourceDataSyncS3Destination && value)208 inline void SetS3Destination(ResourceDataSyncS3Destination&& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = std::move(value); } 209 210 /** 211 * <p>Configuration information for the target S3 bucket.</p> 212 */ WithS3Destination(const ResourceDataSyncS3Destination & value)213 inline ResourceDataSyncItem& WithS3Destination(const ResourceDataSyncS3Destination& value) { SetS3Destination(value); return *this;} 214 215 /** 216 * <p>Configuration information for the target S3 bucket.</p> 217 */ WithS3Destination(ResourceDataSyncS3Destination && value)218 inline ResourceDataSyncItem& WithS3Destination(ResourceDataSyncS3Destination&& value) { SetS3Destination(std::move(value)); return *this;} 219 220 221 /** 222 * <p>The last time the configuration attempted to sync (UTC).</p> 223 */ GetLastSyncTime()224 inline const Aws::Utils::DateTime& GetLastSyncTime() const{ return m_lastSyncTime; } 225 226 /** 227 * <p>The last time the configuration attempted to sync (UTC).</p> 228 */ LastSyncTimeHasBeenSet()229 inline bool LastSyncTimeHasBeenSet() const { return m_lastSyncTimeHasBeenSet; } 230 231 /** 232 * <p>The last time the configuration attempted to sync (UTC).</p> 233 */ SetLastSyncTime(const Aws::Utils::DateTime & value)234 inline void SetLastSyncTime(const Aws::Utils::DateTime& value) { m_lastSyncTimeHasBeenSet = true; m_lastSyncTime = value; } 235 236 /** 237 * <p>The last time the configuration attempted to sync (UTC).</p> 238 */ SetLastSyncTime(Aws::Utils::DateTime && value)239 inline void SetLastSyncTime(Aws::Utils::DateTime&& value) { m_lastSyncTimeHasBeenSet = true; m_lastSyncTime = std::move(value); } 240 241 /** 242 * <p>The last time the configuration attempted to sync (UTC).</p> 243 */ WithLastSyncTime(const Aws::Utils::DateTime & value)244 inline ResourceDataSyncItem& WithLastSyncTime(const Aws::Utils::DateTime& value) { SetLastSyncTime(value); return *this;} 245 246 /** 247 * <p>The last time the configuration attempted to sync (UTC).</p> 248 */ WithLastSyncTime(Aws::Utils::DateTime && value)249 inline ResourceDataSyncItem& WithLastSyncTime(Aws::Utils::DateTime&& value) { SetLastSyncTime(std::move(value)); return *this;} 250 251 252 /** 253 * <p>The last time the sync operations returned a status of 254 * <code>SUCCESSFUL</code> (UTC).</p> 255 */ GetLastSuccessfulSyncTime()256 inline const Aws::Utils::DateTime& GetLastSuccessfulSyncTime() const{ return m_lastSuccessfulSyncTime; } 257 258 /** 259 * <p>The last time the sync operations returned a status of 260 * <code>SUCCESSFUL</code> (UTC).</p> 261 */ LastSuccessfulSyncTimeHasBeenSet()262 inline bool LastSuccessfulSyncTimeHasBeenSet() const { return m_lastSuccessfulSyncTimeHasBeenSet; } 263 264 /** 265 * <p>The last time the sync operations returned a status of 266 * <code>SUCCESSFUL</code> (UTC).</p> 267 */ SetLastSuccessfulSyncTime(const Aws::Utils::DateTime & value)268 inline void SetLastSuccessfulSyncTime(const Aws::Utils::DateTime& value) { m_lastSuccessfulSyncTimeHasBeenSet = true; m_lastSuccessfulSyncTime = value; } 269 270 /** 271 * <p>The last time the sync operations returned a status of 272 * <code>SUCCESSFUL</code> (UTC).</p> 273 */ SetLastSuccessfulSyncTime(Aws::Utils::DateTime && value)274 inline void SetLastSuccessfulSyncTime(Aws::Utils::DateTime&& value) { m_lastSuccessfulSyncTimeHasBeenSet = true; m_lastSuccessfulSyncTime = std::move(value); } 275 276 /** 277 * <p>The last time the sync operations returned a status of 278 * <code>SUCCESSFUL</code> (UTC).</p> 279 */ WithLastSuccessfulSyncTime(const Aws::Utils::DateTime & value)280 inline ResourceDataSyncItem& WithLastSuccessfulSyncTime(const Aws::Utils::DateTime& value) { SetLastSuccessfulSyncTime(value); return *this;} 281 282 /** 283 * <p>The last time the sync operations returned a status of 284 * <code>SUCCESSFUL</code> (UTC).</p> 285 */ WithLastSuccessfulSyncTime(Aws::Utils::DateTime && value)286 inline ResourceDataSyncItem& WithLastSuccessfulSyncTime(Aws::Utils::DateTime&& value) { SetLastSuccessfulSyncTime(std::move(value)); return *this;} 287 288 289 /** 290 * <p>The date and time the resource data sync was changed. </p> 291 */ GetSyncLastModifiedTime()292 inline const Aws::Utils::DateTime& GetSyncLastModifiedTime() const{ return m_syncLastModifiedTime; } 293 294 /** 295 * <p>The date and time the resource data sync was changed. </p> 296 */ SyncLastModifiedTimeHasBeenSet()297 inline bool SyncLastModifiedTimeHasBeenSet() const { return m_syncLastModifiedTimeHasBeenSet; } 298 299 /** 300 * <p>The date and time the resource data sync was changed. </p> 301 */ SetSyncLastModifiedTime(const Aws::Utils::DateTime & value)302 inline void SetSyncLastModifiedTime(const Aws::Utils::DateTime& value) { m_syncLastModifiedTimeHasBeenSet = true; m_syncLastModifiedTime = value; } 303 304 /** 305 * <p>The date and time the resource data sync was changed. </p> 306 */ SetSyncLastModifiedTime(Aws::Utils::DateTime && value)307 inline void SetSyncLastModifiedTime(Aws::Utils::DateTime&& value) { m_syncLastModifiedTimeHasBeenSet = true; m_syncLastModifiedTime = std::move(value); } 308 309 /** 310 * <p>The date and time the resource data sync was changed. </p> 311 */ WithSyncLastModifiedTime(const Aws::Utils::DateTime & value)312 inline ResourceDataSyncItem& WithSyncLastModifiedTime(const Aws::Utils::DateTime& value) { SetSyncLastModifiedTime(value); return *this;} 313 314 /** 315 * <p>The date and time the resource data sync was changed. </p> 316 */ WithSyncLastModifiedTime(Aws::Utils::DateTime && value)317 inline ResourceDataSyncItem& WithSyncLastModifiedTime(Aws::Utils::DateTime&& value) { SetSyncLastModifiedTime(std::move(value)); return *this;} 318 319 320 /** 321 * <p>The status reported by the last sync.</p> 322 */ GetLastStatus()323 inline const LastResourceDataSyncStatus& GetLastStatus() const{ return m_lastStatus; } 324 325 /** 326 * <p>The status reported by the last sync.</p> 327 */ LastStatusHasBeenSet()328 inline bool LastStatusHasBeenSet() const { return m_lastStatusHasBeenSet; } 329 330 /** 331 * <p>The status reported by the last sync.</p> 332 */ SetLastStatus(const LastResourceDataSyncStatus & value)333 inline void SetLastStatus(const LastResourceDataSyncStatus& value) { m_lastStatusHasBeenSet = true; m_lastStatus = value; } 334 335 /** 336 * <p>The status reported by the last sync.</p> 337 */ SetLastStatus(LastResourceDataSyncStatus && value)338 inline void SetLastStatus(LastResourceDataSyncStatus&& value) { m_lastStatusHasBeenSet = true; m_lastStatus = std::move(value); } 339 340 /** 341 * <p>The status reported by the last sync.</p> 342 */ WithLastStatus(const LastResourceDataSyncStatus & value)343 inline ResourceDataSyncItem& WithLastStatus(const LastResourceDataSyncStatus& value) { SetLastStatus(value); return *this;} 344 345 /** 346 * <p>The status reported by the last sync.</p> 347 */ WithLastStatus(LastResourceDataSyncStatus && value)348 inline ResourceDataSyncItem& WithLastStatus(LastResourceDataSyncStatus&& value) { SetLastStatus(std::move(value)); return *this;} 349 350 351 /** 352 * <p>The date and time the configuration was created (UTC).</p> 353 */ GetSyncCreatedTime()354 inline const Aws::Utils::DateTime& GetSyncCreatedTime() const{ return m_syncCreatedTime; } 355 356 /** 357 * <p>The date and time the configuration was created (UTC).</p> 358 */ SyncCreatedTimeHasBeenSet()359 inline bool SyncCreatedTimeHasBeenSet() const { return m_syncCreatedTimeHasBeenSet; } 360 361 /** 362 * <p>The date and time the configuration was created (UTC).</p> 363 */ SetSyncCreatedTime(const Aws::Utils::DateTime & value)364 inline void SetSyncCreatedTime(const Aws::Utils::DateTime& value) { m_syncCreatedTimeHasBeenSet = true; m_syncCreatedTime = value; } 365 366 /** 367 * <p>The date and time the configuration was created (UTC).</p> 368 */ SetSyncCreatedTime(Aws::Utils::DateTime && value)369 inline void SetSyncCreatedTime(Aws::Utils::DateTime&& value) { m_syncCreatedTimeHasBeenSet = true; m_syncCreatedTime = std::move(value); } 370 371 /** 372 * <p>The date and time the configuration was created (UTC).</p> 373 */ WithSyncCreatedTime(const Aws::Utils::DateTime & value)374 inline ResourceDataSyncItem& WithSyncCreatedTime(const Aws::Utils::DateTime& value) { SetSyncCreatedTime(value); return *this;} 375 376 /** 377 * <p>The date and time the configuration was created (UTC).</p> 378 */ WithSyncCreatedTime(Aws::Utils::DateTime && value)379 inline ResourceDataSyncItem& WithSyncCreatedTime(Aws::Utils::DateTime&& value) { SetSyncCreatedTime(std::move(value)); return *this;} 380 381 382 /** 383 * <p>The status message details reported by the last sync.</p> 384 */ GetLastSyncStatusMessage()385 inline const Aws::String& GetLastSyncStatusMessage() const{ return m_lastSyncStatusMessage; } 386 387 /** 388 * <p>The status message details reported by the last sync.</p> 389 */ LastSyncStatusMessageHasBeenSet()390 inline bool LastSyncStatusMessageHasBeenSet() const { return m_lastSyncStatusMessageHasBeenSet; } 391 392 /** 393 * <p>The status message details reported by the last sync.</p> 394 */ SetLastSyncStatusMessage(const Aws::String & value)395 inline void SetLastSyncStatusMessage(const Aws::String& value) { m_lastSyncStatusMessageHasBeenSet = true; m_lastSyncStatusMessage = value; } 396 397 /** 398 * <p>The status message details reported by the last sync.</p> 399 */ SetLastSyncStatusMessage(Aws::String && value)400 inline void SetLastSyncStatusMessage(Aws::String&& value) { m_lastSyncStatusMessageHasBeenSet = true; m_lastSyncStatusMessage = std::move(value); } 401 402 /** 403 * <p>The status message details reported by the last sync.</p> 404 */ SetLastSyncStatusMessage(const char * value)405 inline void SetLastSyncStatusMessage(const char* value) { m_lastSyncStatusMessageHasBeenSet = true; m_lastSyncStatusMessage.assign(value); } 406 407 /** 408 * <p>The status message details reported by the last sync.</p> 409 */ WithLastSyncStatusMessage(const Aws::String & value)410 inline ResourceDataSyncItem& WithLastSyncStatusMessage(const Aws::String& value) { SetLastSyncStatusMessage(value); return *this;} 411 412 /** 413 * <p>The status message details reported by the last sync.</p> 414 */ WithLastSyncStatusMessage(Aws::String && value)415 inline ResourceDataSyncItem& WithLastSyncStatusMessage(Aws::String&& value) { SetLastSyncStatusMessage(std::move(value)); return *this;} 416 417 /** 418 * <p>The status message details reported by the last sync.</p> 419 */ WithLastSyncStatusMessage(const char * value)420 inline ResourceDataSyncItem& WithLastSyncStatusMessage(const char* value) { SetLastSyncStatusMessage(value); return *this;} 421 422 private: 423 424 Aws::String m_syncName; 425 bool m_syncNameHasBeenSet; 426 427 Aws::String m_syncType; 428 bool m_syncTypeHasBeenSet; 429 430 ResourceDataSyncSourceWithState m_syncSource; 431 bool m_syncSourceHasBeenSet; 432 433 ResourceDataSyncS3Destination m_s3Destination; 434 bool m_s3DestinationHasBeenSet; 435 436 Aws::Utils::DateTime m_lastSyncTime; 437 bool m_lastSyncTimeHasBeenSet; 438 439 Aws::Utils::DateTime m_lastSuccessfulSyncTime; 440 bool m_lastSuccessfulSyncTimeHasBeenSet; 441 442 Aws::Utils::DateTime m_syncLastModifiedTime; 443 bool m_syncLastModifiedTimeHasBeenSet; 444 445 LastResourceDataSyncStatus m_lastStatus; 446 bool m_lastStatusHasBeenSet; 447 448 Aws::Utils::DateTime m_syncCreatedTime; 449 bool m_syncCreatedTimeHasBeenSet; 450 451 Aws::String m_lastSyncStatusMessage; 452 bool m_lastSyncStatusMessageHasBeenSet; 453 }; 454 455 } // namespace Model 456 } // namespace SSM 457 } // namespace Aws 458